sql >> Databáze >  >> NoSQL >> MongoDB

textové vyhledávání mongodb s více poli

Měli byste vytvořit textový index pro pole, která chcete prohledávat:

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

Z dokumentace operátoru $text:

$text provádí textové vyhledávání v obsahu polí indexovaných pomocí textového indexu.

Index, který jste vytvořili pro svá tři pole, je složený index, nikoli textový index. Textový index bude vypadat takto:

{
    "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. Redis Cluster - připravena výroba?

  2. Mongoose Jedinečné hodnoty ve vnořeném poli objektů

  3. Jak spustit mongodb shell v kontejneru docker?

  4. spring-redis se nemůže připojit ke vzdálenému hostiteli