AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
Docs Menu

非アルファベットデータを文字列として検索する方法

このチュートリアルでは、フィールドを文字列に変換し、マテリアライズドビューに保存することで、非文字列フィールドに対して文字列特有のクエリを実行する方法を示します。マテリアライズドビューを使用すると、文字列専用の演算子を用いて変換されたフィールドをクエリし、元のデータをソース コレクションにそのまま保持できます。

このチュートリアルでは、次の手順について説明します。

開始する前に、クラスターが前提条件に記載されている要件を満たしていることを確認してください。

This section demonstrates how to create a materialized view named airbnb-mat-view on the sample_airbnb.listingsAndReviews collection. This view stores various numeric and date fields from the source collection as string fields.

To run the queries in the Run Queries on the Converted Fields stage of this tutorial, you need to create MongoDB Search indexes on the converted string fields in your airbnb_mat_view materialized view.

次の JSON 定義は、airbnb_mat_view マテリアライズドビュー上の MongoDB Search インデックスを定義します。実行するクエリの種類に応じて、ダイナミックマッピングまたはスタティックマッピングを使用してコレクションでインデックスしたいフィールドを指定できます。フィールドマッピングまたは MongoDB Search インデックス構文について詳しくは、MongoDB Search インデックスのフィールドマッピングを定義する または インデックス参照を参照してください。

次のJSON MongoDB Searchインデックス定義では、動的マッピングを使用してマテリアライズドビュー内のフィールドにインデックス。このインデックスを使用して、queryString 演算子を使用してクエリを実行できます。

動的にインデックスされたフィールドに対して オートコンプリート 演算子を使用してクエリを実行することはできません。

{
"mappings": {
"dynamic": true
}
}

希望するインターフェースを使用して、上記で定義されたインデックスを作成する方法については、サポートされているクライアントを参照してください。

string に変換された数値フィールドと日付フィールドに対してクエリを実行できます。 このチュートリアルでは、 queryStringとオートコンプリート演算子を使用してプロパティを検索します。 クエリは、次のパイプライン ステージを使用します。

  • $search コレクションを検索するステージ

  • $limit stage to limit the output to 5 results

  • $project 除外するステージ _id

このセクションでは、クラスターに接続し、 airbnb_mat_viewコレクションのフィールドに対して 演算子を使用してサンプルクエリを実行します。

注意

マテリアライズドビューで文字列に変換された日付および数値フィールドに対して、近くのクエリまたは範囲のクエリを実行することはできません。

次の手順では、変換されたフィールドに対して`queryString` クエリを実行します。ダイナミック マッピングで作成したインデックスを使用してください。

次の手順は、変換されたフィールドに対してオートコンプリートクエリを実行します。静的マッピングを使用して作成したインデックスを使用します。