MongoDB SearchstringFacet タイプを使用してファセット用の string フィールドにインデックスことができます。これにより、そのフィールドに対してファセット演算子クエリを実行できます。MongoDB Search は、ファセット用に string フィールドをインデックス化する場合、アナライザを適用しません。
MongoDB Search は、stringFacet 型としてインデックス付けされたフィールドに対するファセット演算子クエリのみをサポートします。同じフィールドで通常の検索も実行するには、フィールドをタイプ string としてインデックス必要があります。
埋め込まれたドキュメント内の文字列フィールドをファセットには、親フィールドをドキュメント型としてインデックス必要があります。埋め込まれたドキュメント内の stringフィールドをファセットと、 MongoDB Search は一致する親ドキュメントの数のみのファセット数を返します。
MongoDB Search stringは、ファセットの 値を動的にインデックスません。ファセットの string 値をインデックスには、静的マッピングを使用する必要があります。Atlas UIのビジュアル エディターまたはJSONエディターを使用して、string フィールドをnumber タイプとしてインデックスできます。
stringFacet タイプのインデックスを定義する
stringFacetタイプのインデックスを定義するには、Atlas UI で希望する構成方法を選択し、データベースとコレクションを選択します。
stringFacet タイプのプロパティの構成
MongoDB Search stringFacet タイプには次のパラメーターがあります。
UI フィールド名 | JSON Option | タイプ | 必要性 | 説明 |
|---|---|---|---|---|
Data Type |
| string | 必須 | このフィールド型を識別する、人間が判読できるラベル。値は |
stringFacet タイプの例を試す
次のインデックス定義の例では、sample_mflix.movies コレクションを使用しています。クラスターにサンプル データがすでにロードされている場合は、Atlas UI のビジュアル エディターまたは JSON エディターを使用してインデックスを構成できます。希望する構成方法を選択した後、データベースとコレクションを選択し、インデックスを改善してフィールド マッピングを追加します。
stringFacet 型の例
サンプルsample_mflix.movies データセット 内の コレクションの次のインデックス定義は、ファセット用にgenres フィールドをstringFacet としてインデックス化します。
複数のタイプの例
サンプル データセットの sample_mflix.movies コレクションの次のインデックス定義では、genres フィールドが stringFacet 型と string 型としてインデックス付けされ、クエリの次のタイプの結果が返されます。
MongoDB Search
facet(MongoDB Search 演算子)を使用したクエリのメタデータ結果。
詳細
facet コレクターの詳細とクエリの例については、「例」を参照してください。
ファセット定義を使用してインデックスを作成し、facet コレクターを使用してそのインデックスをクエリする方法については、「 MongoDB Search でファセットの使用方法 」チュートリアルをご覧ください。
stringFacetを使用してページネーションされた結果でファセット検索を実行するインデックスとクエリの例については、「ページネーションされた結果でファセットを使用する」を参照してください。