sql >> データベース >  >> NoSQL >> MongoDB

MongoDB全文検索インデックス:エラー:テキストインデックスが多すぎるのはなぜですか?

    MongoDBでは、コレクションごとに1つのテキストインデックスのみが許可されます。

    ただし、複数のフィールドにまたがるテキストインデックスを使用できます。

    db.collection.ensureIndex( {
        description: "text",
        title: "text"
    } );
    

    そうすれば、探しているフレーズがどちらかに見つかったときに結果が得られます。これが目的ではない場合、たとえば、それぞれが一方のフィールドからの結果を返し、もう一方のフィールドからの結果を返さない2つの検索クエリがある場合、2つのオプションがあります。

    1. 複数フィールドのテキストインデックスを使用しますが、アプリケーション層の間違ったフィールドからの結果は破棄します。
    2. 2つのフィールドの1つを別のコレクションに抽出します。そのコレクション内のドキュメントには、完全なコピー、編集されたコピー、またはインデックスを作成したフィールドと_idのいずれかが含まれている可能性があります。 元のドキュメントの。


    1. 配列内の配列へのMongoプッシュ

    2. mongocreateIndexの背景がシェルをブロックします

    3. MongoDB:クエリ結果が配列内の任意の値と一致する

    4. マングースのユニークなインデックスが機能していません!