Quindi, secondo documenti MongoDB,MongoDB ricerca di parola completa con la frase esatta non restituire i risultati attesi
se un campo documento contiene la parola mirtillo, una ricerca sul termine blu non corrisponderà il documento
Questo è un bene per il mio caso d'uso, è ciò che voglio accadere. Tuttavia date le seguenti voci DB:
> db.test.drop()
> db.test.insert({ "t" : "Men's Fashion" })
> db.test.insert({ "t" : "Women's Fashion" })
> db.test.ensureIndex({ "t" : "text" })
Una ricerca di uomini restituisce i risultati attesi:
> db.test.find({ "$text" : { "$search" : "\"Men's\"" } }, { "_id" : 0 })
{ "t" : "Men's Fashion" }
Tuttavia una ricerca per la moda l'intera frase uomo, inaspettatamente restituisce anche di moda per donna:
> db.test.find({ "$text" : { "$search" : "\"Men's Fashion\"" } }, { "_id" : 0 })
{ "t" : "Women's Fashion" }
{ "t" : "Men's Fashion" }
Ho provato "\"Men's\"\"Fashion\""
con gli stessi risultati. C'è un trucco/trucco per ottenere la frase completa per restituire solo corrispondenze intere parole?
Sto usando Mongo 2.6.4. È interessante notare che segna femminile inferiore a uomini.
Buona domanda. Sto vedendo lo stesso comportamento curioso usando Mongo 3.0.4. – JohnnyHK
perché LA MODA DI WOMEN si abbina alla MODA UOMO ... –