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

Kan en $text-søgning udføre et delvist match

MongoDB $text søgninger understøtter ikke delvis matchning. MongoDB tillader tekstsøgningsforespørgsler på strengindhold med understøttelse af ufølsomhed for store og små bogstaver, afgrænsninger, stopord og ordstamming. Og termerne i din søgestreng er som standard ELLER-redigeret.

Tager dine (meget nyttige :) eksempler ét efter ét:

ENKELT TERM, DELVIS

// returns nothing because there is no world word with the value `Crai` in your
// text index and there is no whole word for which `Crai` is a recognised stem
db.submissions.find({"$text":{"$search":"\"Crai\""}})

FLERE VILKÅR, FULDT

// returns the document because it contains all of these words
// note in the text index Dr. Bob is not a single entry since "." is a delimiter
db.submissions.find({"$text":{"$search":"\"Craig\" \"Dr. Bob\""}})

FLERE VILKÅR, EN DELVIS

// returns the document because it contains the whole word "Craig" and it 
// contains the whole word "Dr" 
db.submissions.find({"$text":{"$search":"\"Craig\" \"Dr. Bo\""}})

FLERE VILKÅR, BEGGE DELVIS

// returns the document because it contains the whole word "Dr"
db.submissions.find({"$text":{"$search":"\"Crai\" \"Dr. Bo\""}})

Husk, at $search streng er ...

Så hvis mindst ét ​​udtryk i din $search streng matcher, så matcher MongoDB det dokument.

For at bekræfte denne adfærd, hvis du redigerer dit dokument ved at ændre Dr. Bob til DrBob så vil følgende forespørgsler returnere nej dokumenter:

db.submissions.find({"$text":{"$search":"\"Craig\" \"Dr. Bo\""}})
db.submissions.find({"$text":{"$search":"\"Crai\" \"Dr. Bo\""}})

Disse returnerer nu ingen resultater, fordi Dr er ikke længere et helt ord i dit tekstindeks, fordi det ikke efterfølges af . afgrænsning.



  1. Hvordan får man opdateret dokument tilbage fra findOneAndUpdate-metoden?

  2. Validerer det unikke af et indlejret dokument, der er omfattet af dets forælder i mongoose

  3. Mongoose ODM:NumberInt er ikke defineret

  4. Hvordan kan jeg aktivere libmongoc ssl i PHP 7 til Mongodb-forbindelse?