Docs Menu
Docs Home
/
MongoDB Atlas
/ / /

Atlas Search インデックス構文の確認

項目一覧

  • 構文
  • オプション

Atlas Search はさまざまな方法でデータをインデックス化できます。 Atlas Search インデックスを定義するときに、特定のフィールドにインデックスを付けるための特定のアナライザまたは複数のアナライザを指定できます。 詳しくは、「 アナライザによるデータ処理」を参照してください。 また、特定のフィールドにインデックスを付けて他のフィールドを省略したり、コレクション内のすべてのフィールドに動的にインデックスを付けることもできます。 詳しくは「フィールドマッピングの定義」を参照してください。 Atlas Search インデックスは、 Atlas UI Atlas Search APIAtlas CLI mongosh 、またはドライバー を使用して定義できます。

このページでは、Atlas Search インデックスの JSON構文とフィールドについて説明します。

重要

$out 集計ステージを使用して Atlas Search インデックスを持つコレクションを変更する場合は、その検索インデックスを削除して再作成する必要があります。可能であれば、$out の代わりに $merge を使用することを検討してください。

1{
2 "mappings": {
3 "dynamic": <boolean>,
4 "fields": { <field-definition> }
5 }
6}
7
1{
2 "analyzer": "<analyzer-for-index>",
3 "searchAnalyzer": "<analyzer-for-query>",
4 "mappings": {
5 "dynamic": <boolean>,
6 "fields": { <field-definition> }
7 },
8 "numPartitions": 4,
9 "analyzers": [ <custom-analyzer> ],
10 "storedSource": <boolean> | {
11 <stored-source-definition>
12 },
13 "synonyms": [
14 {
15 "name": "<synonym-mapping-name>",
16 "source": {
17 "collection": "<source-collection-name>"
18 },
19 "analyzer": "<synonym-mapping-analyzer>"
20 }
21 ]
22}
23
フィールド
タイプ
必要性
説明

analyzer

string

任意

インデックス作成時に string フィールドに適用するアナライザを指定します。

これを上部のみに設定し、インデックス定義のフィールドのアナライザを指定しない場合、Atlas Search はこのアナライザをすべてのフィールドに適用します。 各フィールドに異なるアナライザを使用するには、 フィールドに異なるアナライザを指定する必要があります。

省略した場合、デフォルトは標準 アナライザになります。

analyzers

任意

このインデックスで使用するカスタム アナライザを指定します。

mappings

必須

このインデックスの異なるパスにあるフィールドのインデックス方法を指定します。

mappings.dynamic

ブール値

任意

このインデックスのフィールドの 動的マッピング を有効または無効にします。

trueに設定すると、Atlas Search はすべての動的にインデックス付け可能なフィールドを再帰的にインデックス化します。

falseに設定されている場合は、 mappings.fieldsを使用してインデックスを作成するフィールドを個別に指定する必要があります。

省略した場合、デフォルトは false になります。

重要: Atlas Search は、検出されたデータ型のデフォルト設定を使用して、document 内のすべてのフィールドに動的にインデックスを作成します。Atlas Search は、dynamicfalse に設定して直接オーバーライドしない限り、document 下にネストされたすべてのドキュメントを動的にインデックス化します。

インデックス構成の例については、「静的マッピングの例 」または「組み合わせマッピングの例」を参照してください

mappings.fields

ドキュメント

条件付き

インデックスを作成するフィールドを指定します。 動的マッピングが無効になっている場合にのみ必要です。

フィールド名の先頭にドル記号($)が含まれるフィールドにはインデックスを付けられません。

詳しくは「フィールドマッピングの定義」を参照してください。

searchAnalyzer

string

任意

クエリ テキストで検索する前にクエリ テキストに適用するアナライザを指定します。

省略した場合、 analyzerオプションに指定したアナライザがデフォルトで使用されます。 searchAnalyzerオプションとanalyzer オプションの両方を省略すると、 はデフォルトで 標準 アナライザを使用します。

numPartitions

整数

任意

ドキュメント数が 20 億を超える場合に作成するサブインデックスの数を指定します。次の値は有効です。1248163264 。省略された場合、デフォルトは 1 となります。

インデックスパーティションを使用するには、クラスターに検索ノードが必要です。

重要

numPartitionsオプションはプレビュー機能として利用できます。

storedSource

ブール値または保存されたソース定義

任意

returnStoredSourceオプションを使用して、クエリ時検索用に保存するドキュメント内のフィールドを指定します。 Atlas Search ではすべてのデータ型のフィールドを保存できます。 値は次のいずれかになります。

  • true: すべてのフィールドを保存

  • false、フィールドを保存しない場合

  • ストレージからincludeまたはexcludeにフィールドを指定するオブジェクト

storedSource 次のいずれかのバージョンを実行している Atlas クラスターでのみ使用できます。

  • MongoDB 5.0.6+

  • MongoDB 6.0+

  • MongoDB 7.0+

省略した場合、デフォルトは false になります。

詳しくは、 「 Atlas Search インデックスに保存されたソース フィールドの定義 」を参照してください。

synonyms

任意

インデックスで使用するシノニム マッピング。

インデックス定義には、シノニム マッピングを 1 つだけ含めることができます。

詳しくは、「Atlas Search インデックスでのシノニム マッピングの定義」を参照してください。

戻る

4 : シノニム マッピングを構成する