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

MongoDB fuld og delvis tekstsøgning

Som ved MongoDB 3.4 er tekstsøgefunktionen designet til at understøtte søgninger uden store og små bogstaver på tekstindhold med sprogspecifikke regler for stopord og stemming. Stamregler for understøttede sprog er baseret på standardalgoritmer, som generelt håndterer almindelige verber og navneord, men som ikke kender til egennavne.

Der er ingen eksplicit støtte til delvise eller uklare matches, men udtryk, der stammer fra et lignende resultat, kan se ud til at fungere som sådan. For eksempel:"smag", "smager" og smagfuld" stammer alle fra "smag". Prøv Snowball Stemming Demo-siden for at eksperimentere med flere ord og stammende algoritmer.

Dine resultater, der matcher, er alle variationer af det samme ord "LEONEL", og varierer kun efter store og små bogstaver og diakritiske tegn. Medmindre "LEONEL" kan stamme fra noget kortere af reglerne for dit valgte sprog, er disse den eneste type variationer, der vil matche.

Hvis du vil lave effektive delmatcher, bliver du nødt til at tage en anden tilgang. For nogle nyttige ideer se:

  • Effektive teknikker til fuzzy og delvis matching i MongoDB af John Page
  • Effektive delvise søgeordssøgninger af James Tan

Der er en relevant forbedringsanmodning, du kan se/stemme op i MongoDB issue tracker:SERVER-15090:Forbedre tekstindekser for at understøtte delvis ordmatch.



  1. Påvirker navnelængde ydeevnen i Redis?

  2. Hvordan gør jeg mere end/mindre end at bruge MongoDB?

  3. MongoDB - Sorter resultaterne af en forespørgsel

  4. Hvordan kan jeg bruge 'Not Like' operator i MongoDB