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

複数のフィールドを使用したmongodbテキスト検索

    検索するフィールドにテキストインデックスを作成する必要があります:

    db.deals.ensureIndex({ name: "text", description : "text", category : "text" });
    

    $ text演算子のドキュメントから:

    $ textは、テキストインデックスでインデックス付けされたフィールドのコンテンツに対してテキスト検索を実行します。

    3つのフィールド用に作成したインデックスは、テキストインデックスではなく、複合インデックスです。テキストインデックスは次のようになります:

    {
        "v" : 1,
        "key" : {
            "_fts" : "text",
            "_ftsx" : 1
        },
        "name" : "name_text_description_text_category_text",
        "ns" : "test.deals",
        "weights" : {
            "category" : 1,
            "description" : 1,
            "name" : 1
        },
        "default_language" : "english",
        "language_override" : "language",
        "textIndexVersion" : 2
    }
    



    1. MongoDB集約構造を改善する

    2. LaravelまたはRedisでキューに入れられたジョブをキャンセルする方法

    3. PouchDBとMongoDBの使用

    4. MongoDBハッシュインデックスの場合