オブジェクトとドキュメントのフィールドのインデックス作成方法
Atlas Search document
タイプを使用して、オブジェクトまたはドキュメントのフィールドにインデックスを付けることができます。
動的マッピングを有効にすると、Atlas Search はdocument
型のフィールドを自動的にインデックス化します。 Atlas UI のビジュアル エディターまたはJSON エディターを使用して、 document
タイプのフィールドをインデックスできます。
document
型の制限を確認する
Atlas Search document
タイプを使用して、配列内にあるオブジェクトまたはドキュメント内のフィールドをインデックスすることはできません。 代わりに、Atlas Search embeddedDocumentsタイプを使用して、配列の要素であるオブジェクトまたはドキュメント内のフィールドをインデックス化します。
document
型のインデックスを定義する
document
タイプのインデックスを定義するには、Atlas UI で希望する構成方法を選択し、データベースとコレクションを選択します。
[ Refine Your Indexをクリックしてインデックスを構成します。
Field Mappingsセクションで、 Add FieldをクリックしてAdd Field Mappingウィンドウを開きます。
[Customized Configuration] をクリックします。
Field Nameドロップダウンからインデックスするフィールドを選択します。
注意
フィールド名の先頭にドル記号(
$
)が含まれるフィールドにはインデックスを付けられません。Data Typeドロップダウンをクリックし、Document を選択します。
Enable Dynamic Mapping設定を切り替えて、ドキュメント内のすべての動的インデックス作成可能なフィールドの動的インデックス作成を有効または無効にします。 詳しくは、「 構成する
document
フィールド プロパティを参照してください。[Add] をクリックします。
動的マッピングを無効にした場合は、 Document型フィールドのAdd Child Fieldをクリックして、ドキュメント内のフィールドのフィールド マッピングを定義します。
以下は、 document
型の JSON構文です。 デフォルトのインデックス定義を以下のように置き換えます。 フィールドの詳細については、「フィールド プロパティ」を参照してください。
1 { 2 "mappings": { 3 "dynamic": true|false, 4 "fields": { 5 "<field-name>": { 6 "type": "document", 7 "dynamic": true|false, 8 "fields": { 9 "<field-name>": { 10 <field-mapping-definition> 11 } 12 } 13 } 14 } 15 } 16 }
document
フィールド プロパティを構成する
Atlas Search document
型は次のパラメータを取ります。
オプション | タイプ | 必要性 | 説明 | default |
---|---|---|---|---|
type | string | 必須 | フィールド型を識別する、人間が判読できるラベル。 値は document である必要があります。 | |
dynamic | ブール値 | 任意 | Atlas Search がすべてのフィールドと埋め込みドキュメントを再帰的にインデックス化するかどうかを示すフラグ。 Atlas Search が動的にインデックスを作成しないフィールドを含むドキュメント内のすべてのフィールドにインデックスを付けるには、インデックス定義でフィールドを定義します。 省略する場合、または 重要: Atlas Search は、検出されたデータ型のデフォルト設定を使用して、 | false |
fields | ドキュメント | 任意 |
document
型の例を試す
次のインデックス定義の例では、 sample_mflix.moviesコレクションを使用します。 サンプル データがすでにクラスターにロードされている場合は、Atlas UI のビジュアル エディターまたはJSONエディターを使用してインデックスを構成できます。 ご希望の構成方法を選択したら、データベースとコレクションを選択し、インデックスを微調整してフィールド マッピングを追加します。
インデックス定義は、 awards
フィールドをdocument
型としてインデックス化します。 また、 awards
オブジェクト内のすべての動的にインデックス付け可能なフィールドを自動的にインデックス化するように Atlas Search を構成します。
Add Field Mappingウィンドウで、 Field Nameドロップダウンからawardsを選択します。
Data Typeドロップダウンをクリックし、Document を選択します。
Enable Dynamic Mapping設定を切り替えて、ドキュメント内のすべての動的にインデックス付け可能なフィールドの動的インデックス作成を有効にします(動的インデックス作成がまだ有効になっていない場合)。
[Add] をクリックします。
デフォルトのインデックス定義を、以下のインデックス定義で置き換えます。
1 { 2 "mappings": { 3 "dynamic": false, 4 "fields": { 5 "awards": { 6 "type": "document", 7 "dynamic": true 8 } 9 } 10 } 11 }