sql >> Database teknologi >  >> NoSQL >> MongoDB

MongoDB fuldtekst søgeindeks:fejl:for mange tekstindeks til, hvorfor?

MongoDB tillader kun ét tekstindeks pr. samling.

Men du kan bruge et tekstindeks, som spænder over flere felter:

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

På den måde vil du få resultater, når den sætning, du søger efter, findes i enten. Når det ikke er det, du ønsker, som når du har to søgeforespørgsler, som hver returnerer resultater fra et af felterne, men ikke det andet, har du to muligheder.

  1. brug et tekstindeks med flere felter, men kasser de resultater, der kommer fra det forkerte felt på applikationslaget.
  2. udtræk et af de to felter til en anden samling. Dokumenterne i den samling kan enten indeholde hele kopier, redigerede kopier eller bare det felt, du indekserer, og _id af det originale dokument.


  1. Har nogen brugt en objektdatabase med en stor mængde data?

  2. MongoDB DBRef PÅ SLET KASCADE

  3. Kører PDI Kettle på Java - Mongodb Step Missing Plugins

  4. java.lang.IllegalArgumentException:Forventede unikt resultat eller null, men fik mere end ét! - Spring Data Mongo