MongoDB Searchインデックスは、クラスターから抽出されたドキュメントを、それらのドキュメントから抽出されたタームにマッピングするデータ構造です。MongoDB Search インデックスを使用すると、データベースの効率的な全文検索が可能になります。
MongoDB Searchインデックスを定義するstring
とき、 の静的マッピングまたは動的マッピングを使用して、コレクション内でインデックスするフィールドまたはフィールドタイプを指定できます。アナライザを使用して、 MongoDB Search が フィールドまたはクエリ文字列から検索可能なトークンを抽出する方法を定義することもできます。最後に、インデックス定義に追加の構成オプションを適用すると、 MongoDB Search クエリのパフォーマンスと精度を向上させることができます。これには、インデックスにソース フィールドを保存するオプションや、シノニム(同意語)マッピングを定義するオプションなどがあります。
クエリ要件に従ってMongoDB Searchインデックスを定義する方法については、 「 MongoDB Search インデックスの管理 」を参照してください。 MongoDB Searchインデックスを定義 したら、「 MongoDB Search インデックスの作成 」チュートリアルを使用して、そのインデックスをクラスターに追加できます。 MongoDB Searchインデックスを表示、編集、更新、削除する方法については、 サポートされているクライアント を参照してください。
このページでは、 MongoDB Searchインデックスの JSON構文と定義オプションについて説明します。
構文
オプション
フィールド | タイプ | 必要性 | 説明 |
---|---|---|---|
| 文字列 | 任意 | インデックス作成時に string フィールドに適用するアナライザを指定します。 これを上部のみに設定し、インデックス定義のフィールドのアナライザを指定しない場合、 MongoDB Search はこのアナライザをすべてのフィールドに適用します。各フィールドに異なるアナライザを使用するには、フィールドに異なるアナライザを指定する必要があります。 省略した場合、デフォルトは標準 アナライザになります。 |
| 任意 | このインデックスで使用するカスタム アナライザを指定します。 | |
| 必須 | このインデックスの異なるパスにあるフィールドのインデックス方法を指定します。 | |
| ブール値またはオブジェクト | 任意 | このインデックスに対してフィールド型の動的マッピングを有効にするか、フィールドを個別に構成します。 値は次のいずれかである必要があります。
省略した場合、デフォルトは また、 重要: 動的マッピングで有効にできるフィールドタイプの詳細については、 「 MongoDB Search フィールドタイプ 」を参照してください。 |
| オブジェクト | 任意 | 自動的かつ再帰的にインデックスを付けるためのフィールドタイプのリストを含む
重要動的マッピングを構成可能な機能はプレビュー段階です。機能および関連するドキュメントは、プレビュー期間中にいつでも変更される可能性があります。詳しくは、「 プレビュー機能 」を参照してください。 |
| ドキュメント | 条件付き | インデックスを作成するフィールドを指定します。動的マッピングが フィールド名の先頭にドル記号( 詳しくは「フィールドマッピングの定義」を参照してください。 |
| string | 任意 | クエリ テキストで検索する前にクエリ テキストに適用するアナライザを指定します。 省略した場合、 |
| 整数 | 任意 | ドキュメント数が20億を超える場合に作成するサブインデックスの数を指定します。次の値は有効です: インデックスパーティションを使用するには、クラスターに検索ノードが必要です。 |
| ブール値または保存されたソース定義 | 任意 | returnStoredSource オプションを使用して、クエリ時検索用に保存するドキュメント内のフィールドを指定します。 MongoDB Search ではすべてのMongoDB Search フィールド タイプ のフィールドを保存できます。値は次のいずれかになります。
省略した場合、デフォルトは 詳しくは、「 MongoDB Search インデックスに保存されたソース フィールドの定義 」を参照してください。 |
| シノニム マッピング定義の配列 | 任意 | インデックスで使用する シノニム マッピング を指定します。 インデックス定義には、シノニム マッピングを 1 つだけ含めることができます。 詳しくは、「MongoDB Search インデックスでのシノニム マッピングの定義」を参照してください。 |
| オブジェクトの配列 | 任意 | 動的マッピング用にこのインデックスで使用する typeSets を指定します。 |
| 文字列 | 必須 |
|
| オブジェクトの配列 | 必須 | 動的マッピングを使用して自動的にインデックスするフィールドタイプをオブジェクトごとに 1 つずつ指定します。 |
| 文字列 | 必須 | 自動的にインデックスを作成するフィールドタイプを指定します。動的マッピングに構成できるフィールドタイプの詳細については、「 の構成 |
インデックスのトラブルシューティング
mongot
プロセスがインストールまたは実行されていない
MongoDB Search mongot
プロセスがインストールされていない、またはを実行中ときに $search
クエリを実行すると、次のエラーが返されます。
MongoError: Remote error from mongot :: caused by :: Error connecting to localhost:28000.
mongot
プロセスは、最初のMongoDB Searchインデックスが定義されているときにのみインストールされます。クラスターにMongoDB Searchインデックスがない場合は、このエラーを解決するために少なくとも 1 つのMongoDB Searchインデックスを作成してください。
詳細
MongoDB Search クエリのニーズを満たすためにMongoDB Searchインデックスを定義する方法については、 「 MongoDB Search インデックスの管理 」を参照してください。
クラスターにインデックスを追加する方法については、 「 MongoDB Search インデックスの作成 」を参照してください。
利用可能なインデックス構成オプションの詳細については、以下の参照ページをご覧ください。