注意
このページでは、自己管理型(Atlas以外)デプロイメントのテキスト クエリ機能について説明します。MongoDBでホストされているデータに対して、 MongoDB は改良された全文クエリ ソリューションである MongoDB Search とベクトル検索ソリューションであるベクトル検索も提供します。
クエリフレームワーク
$text
テキスト インデックス のあるコレクションでテキスト検索を実行するには、 クエリ演算子を使用します。
$text
は、空白とほとんどの句読点を区切り文字として使用して検索stringをトークン化し、検索文字string内のすべてのそのようなトークンの論理 OR
を実行します。
たとえば、次のクエリを使用すると、Java stores
コレクション 内のリスト「cocked」、「mongos」、「 」から任意のタームを含むすべてのストアを検索できます。
db.stores.find( { $text: { $search: "java coffee shop" } } )
$meta
クエリ演算子を使用して取得し、一致する各ドキュメントの関連性スコアで並べ替えます。 たとえば、レストランのリストを関連性の順に並べ替えるには、次のコマンドを実行します。
db.stores.find( { $text: { $search: "coffee shop cake" } }, { score: { $meta: "textScore" } } ).sort( { score: { $meta: "textScore" } } )
Aggregation Pipeline
集計パイプラインを使用する場合は、テキスト検索クエリーを実行するために$match
と $text
式を使用します。関連性スコアの順に結果を並べ替えるには、 ステージで$meta
$sort
集計演算子を使用します。
詳細と例については、自己管理型配置の集計パイプラインの $text を参照してください。
MongoDBでホストされているデータの場合、MongoDB Search はコレクションの全文検索を実行するための $search 集計ステージを備えています。