仮想コアベースの Azure Cosmos DB for MongoDB のフルテキスト検索機能は、従来のクエリ方法を超えた強力なドキュメント検索機能を提供します。 この高度な検索手法により、ユーザーは、完全一致だけでなく、自然言語処理、単語のバリエーション、コンテキストの関連性に基づいて関連するコンテンツを検出できます。
統合テキスト検索エンジンを使用すると、外部検索サービスが不要になります。 これにより、データベース アーキテクチャが簡略化されます。 特殊なテキスト インデックスを使用して、検索操作を効率的に処理します。 システムは、ドキュメントの内容を処理、トークン化、分析します。 その結果、アプリケーションは、特定のキーワード、フレーズ、または関連用語を含むドキュメントをすばやく見つけることができます。
注
MongoDB 用の仮想コアベースの Azure Cosmos DB でのフルテキスト検索では、MongoDB の $text
演算子をサポートする PostgreSQL スタイルの TSVector インデックスが内部で使用されます。
機能のサポート
特徴 | サポート レベル | 説明 | サンプル クエリ |
---|---|---|---|
トークン化 | サポートされています | TSVector を使用してテキストを個々のトークンに分割する | 該当なし |
ステミング | サポートされています | 言語アナライザーを使用して、屈折した単語を語根に変換します。 | 該当なし |
言語サポート | 部分的にサポートされています | デンマーク語 (da )、オランダ語 (nl )、英語 (en )、フィンランド語 (fi )、フランス語 (fr )、ドイツ語 (de )、ハンガリー語 (hu )、イタリア語 (it ) などの共通言語をサポートします )、ノルウェー語 (nb )、ポルトガル語 (pt )、ルーマニア語 (ro )、ロシア語 (ru )、スペイン語 (es )、スウェーデン語 (sv )、トルコ語 (tr ) など。 |
db.text_search.find({ "$text": { "$search": "leche", "$language": "es" } }) |
Term-Based 検索 | サポートされています | インデックス付きフィールドでの正確な用語検索 | db.movies.find({ "$text": { "$search": "surfer" } }) |
フレーズ検索 | 部分的にサポートされています | 引用符を使ってフレーズを完全一致させる。 互換性の問題がいくつか存在します。 | db.text_search.find({ "$text": { "$search": "\"are cats\"" } }) |
プレフィックス クエリ | サポートされています | 正規表現を使用してパターンから始まる用語を検索する | db.articles.find({ title: { $regex: /^data/i } }) |
ワイルドカード検索 | サポートされています | regex + を使用して柔軟なパターンを照合する $text |
db.articles.find({ $and: [ { $text: { $search: "hello" } }, { title: { $regex: /.*world.*/i } } ] }) |
正規表現検索 | サポートされています | 柔軟なテキスト パターン マッチングに正規表現を使用する | db.articles.find({ title: { $regex: /^hello.*world$/i } }) |
ブール演算子 | サポートされています | + 、- を使用して用語を含める/除外する |
db.text_search.find({ "$text": { "$search": "cafe +con" } }) |
マルチマッチ | 部分的にサポートされています | 重みを持つ結合インデックスを使用した複数フィールド クエリ | db.myColl.createIndex({ title: "text", genre: "text" }, { default_language: "english", weights: { title: 10, genre: 3 } }) |
ファセット検索 | 利用不可 | 検索結果をカテゴリまたはタグ (ブランド、色、価格など) でフィルター処理します。 仮想コア テキスト検索ではネイティブにサポートされていません。 | 該当なし |
オートコンプリートとブースト | 利用不可 | 特定の用語のオートコンプリート (先行入力候補) とクエリ時間ブーストはサポートされていません。 ブーストは、フィールドの重みを使用してインデックス レベルでのみ実行できます。 | 該当なし |
カスタム アナライザー | 利用不可 | カスタム トークン化またはフィルター処理はサポートされていません | 該当なし |
シノニムのサポート | 利用不可 | シノニムのネイティブ サポートなし | 該当なし |
あいまい検索 | 利用不可 | 誤字やあいまい一致はサポートされていません | 該当なし |
近接検索 | 利用不可 | 特定の単語の距離内の用語を検索できません | 該当なし |