MongoDBでは、コレクションごとに1つのテキストインデックスのみが許可されます。
ただし、複数のフィールドにまたがるテキストインデックスを使用できます。
db.collection.ensureIndex( {
description: "text",
title: "text"
} );
そうすれば、探しているフレーズがどちらかに見つかったときに結果が得られます。これが目的ではない場合、たとえば、それぞれが一方のフィールドからの結果を返し、もう一方のフィールドからの結果を返さない2つの検索クエリがある場合、2つのオプションがあります。
- 複数フィールドのテキストインデックスを使用しますが、アプリケーション層の間違ったフィールドからの結果は破棄します。
- 2つのフィールドの1つを別のコレクションに抽出します。そのコレクション内のドキュメントには、完全なコピー、編集されたコピー、またはインデックスを作成したフィールドと
_id
のいずれかが含まれている可能性があります。 元のドキュメントの。