sql >> Databasteknik >  >> NoSQL >> MongoDB

MongoDB fulltext sökindex:fel:för många textindex för, varför?

MongoDB tillåter bara ett textindex per samling.

Men du kan använda ett textindex som spänner över flera fält:

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

På så sätt får du resultat när frasen du söker efter finns i någondera. När detta inte är vad du vill, som när du har två sökfrågor som var och en returnerar resultat från ett av fälten men inte det andra, har du två alternativ.

  1. använd ett textindex med flera fält, men kassera resultaten som kommer från fel fält i applikationslagret.
  2. extrahera ett av de två fälten till en annan samling. Dokumenten i den samlingen kan antingen innehålla fullständiga kopior, redigerade kopior eller bara fältet du indexerar och _id av originaldokumentet.


  1. mongodb sparar inte all data

  2. mongodb få _id som sträng i sökfrågan

  3. Redis-cli --csv-alternativ (exporterar till csv)

  4. Är det möjligt att implementera Multi-Version Concurrency Control (MVCC) ovanpå MongoDB?