sql >> Databasteknik >  >> NoSQL >> MongoDB

Stemming fungerar inte korrekt för MongoDB textindex

Efter en hel del experimenterande och kliande mig i huvudet upptäckte jag orsaken till detta beteende. Det visade sig att handlingarna i den aktuella samlingen hade attributet 'språk'. Uppenbarligen gjorde närvaron och värdet av det attributet dessa dokument omöjliga att söka. (Värdet råkade vara 'ENG'. Det är möjligt att om du ändrade det till 'eng' skulle detta dokument bli sökbart igen. Fältet tjänade dock ett helt annat syfte). Efter att jag bytte namn på fältet till 'lang' kunde jag hitta dokumentet som innehöll ordet "hundar" genom att söka efter "hund" eller "hundar".

Jag undrar om detta är förväntat beteende hos MongoDB - att närvaron av språkattribut i dokumentet skulle påverka textsökningen.



  1. Deserialisera objekt som ett gränssnitt med MongoDB C# Driver

  2. Hämta en enskild egenskap från dokument

  3. Hur fångar jag ett MongoSecurityException?

  4. Mest effektiva sättet att få flera hash i Redis?