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

自己管理型配置におけるテキストインデックスの制限

項目一覧

  • コレクションごとに 1 つのテキストインデックス
  • テキスト検索とヒント
  • テキスト検索と複数単語文字列
  • テキストインデックスとソート
  • 複合テキストインデックス
  • 照合オプション

テキストインデックスには次の制限があります。

コレクションには最大 1 つのテキスト インデックスを含めることができます。

Atlas Search ( MongoDB Atlasで利用可能 )は、単一のコレクションに対して複数の全文検索インデックスをサポートしています。 詳しくは、 Atlas Search のドキュメントを参照してください。

クエリに $text式が含まれている場合、 hint()を使用してクエリに使用するインデックスを指定することはできません。

$text操作の $search string に複数単語の string と個々のタームが含まれている場合、$text は複数単語の string を含むドキュメントのみと一致します。

複数単語の文字列を含むテキスト検索の例については、「 完全一致の文字列 」を参照してください。

テキストインデックスでは、ソート操作のパフォーマンスは向上しません。 この制限は、単一フィールドと複合テキスト インデックスの両方に適用されます。

複合インデックスには、テキストインデックスキーと、昇順および降順のインデックスキーとを組み合わせて含めることができます。 ただし、複合テキストインデックスには次の制限があります。

  • 複合テキストインデックスには、マルチキー地理空間インデックスフィールドなどの他の特殊なインデックスタイプを含めることはできません。

  • 複合テキスト インデックスにテキスト インデックス キーのにキーが含まれている場合、 $textを使用するには、クエリ述語に先行するキーに対する等価一致条件が含まれている必要があります。

  • 複合テキスト インデックスを作成する場合は、すべてのテキスト インデックス キーをインデックス仕様ドキュメントに隣接して表示する必要があります。

複合テキスト インデックスの例については、次のページを参照してください。

テキストインデックスはバイナリ比較のみをサポートしており、照合オプションはサポートしていません。 バイナリ比較では、各 string 内の各文字の数値 Unicode 値が比較され、大文字と小文字またはアクセント記号は考慮されません。

単純ではない照合順序を持つコレクションにテキスト インデックスを作成するには、インデックスの作成時、 { collation: { locale: "simple" } }を明示的に指定する必要があります。

たとえば、照合順序が{ locale: "en" }である、 collationTestという名前のコレクションを考えてみましょう。

db.createCollection(
"collationTest",
{
collation: { locale: "en" }
}
)

collationTestコレクションにテキスト インデックスを作成するには、 { collation: { locale: "simple" } }を指定する必要があります。 次のコマンドを実行すると、 quotesフィールドにテキスト インデックスが作成されます。

db.collationTest.createIndex(
{
quotes: "text"
},
{
collation: { locale: "simple" }
}
)

戻る

プロパティ