Docs Menu
Docs Home
/
MongoDBマニュアル
/ /

テキスト検索演算子(自己管理型配置)

項目一覧

  • クエリフレームワーク
  • Aggregation Pipeline

注意

このページでは、自己管理型(Atlas以外)配置のテキスト クエリ機能について説明します。MongoDB Atlas でホストされているデータに対して、MongoDB は改良された全文クエリ ソリューションである Atlas 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" } } )

制限や動作など、 $text } 演算子と$meta演算子の詳細については、以下を参照してください。

集計パイプラインを使用する場合は、テキスト検索クエリを実行するために$match$text式を使用します。 関連性スコアの順に結果を並べ替えるには、 ステージ$sort [1 $meta] で 集計演算子 を使用します。

集計操作パイプラインにおける$textの詳細と例については、「自己管理型配置の集計パイプラインの$text」を参照してください。

MongoDB Atlas でホストされているデータの場合、Atlas Search はコレクションの全文検索を実行するための $search 集計ステージを備えています。

[1] $metaプロジェクション演算子の動作と要件は、 $meta集計演算子のそれと異なります。 $meta集計演算子の詳細については、 $meta集計演算子のリファレンス ページを参照してください。

戻る

テキスト検索の実行