Tekstsøgning er designet til at indeksere strenge baseret på sprogheuristik . Tekstindeksering involverer to generelle trin:tokenisering (konvertering af en streng til individuelle termer af interesse) efterfulgt af stemming (konvertering af hvert udtryk til en rodform til indeksering baseret på sprogspecifikke regler).
Under tokeniseringstrinnet er visse tegn (f.eks. tegnsætningssymboler såsom @
) er klassificeret som ordseparatorer (alias afgrænsere ) i stedet for tekstinput og bruges til at adskille den originale streng i termer. Sprogspecifikke stopord
(almindelige ord som "den", "er" eller "på" på engelsk) er også udelukket fra et tekstindeks.
Siden din søgesætning @@@
udelukkende består af afgrænsninger, er der ingen tilsvarende indgang i tekstindekset.
Hvis du vil matche generiske strengmønstre, skal du bruge regulære udtryk i stedet for tekstsøgning. For eksempel:db.getCollection('TestCollection').find({field2:/@@@/})
. Bemærk dog forbeholdene vedrørende indeksbrug for regulære udtryk.