sql >> Databáze >  >> NoSQL >> MongoDB

MongoDB úplné a částečné vyhledávání textu

Stejně jako v MongoDB 3.4 je funkce textového vyhledávání navržena tak, aby podporovala vyhledávání bez rozlišování malých a velkých písmen v textovém obsahu s jazykovými pravidly pro ignorovaná slova a odvozeniny. Pravidla stemmingu pro podporované jazyky jsou založena na standardních algoritmech, které obecně zpracovávají běžná slovesa a podstatná jména, ale neznají vlastní podstatná jména.

Neexistuje žádná výslovná podpora pro částečné nebo fuzzy shody, ale termíny, které vedou k podobnému výsledku, se mohou zdát jako takové fungující. Například:„taste“, „tastes“ a tasteful – vše od kmene k „ochutnat“. Vyzkoušejte ukázkovou stránku Snowball Stemming a experimentujte s více slovy a algoritmy odvození.

Vaše výsledky, které se shodují, jsou všechny varianty stejného slova „LEONEL“ a liší se pouze velikostí písmen a diakritikou. Pokud nemůže být výraz „LEONEL“ podle pravidel vámi zvoleného jazyka odvozen od něčeho kratšího, toto jsou jediné varianty, které se budou shodovat.

Pokud chcete provádět efektivní dílčí zápasy, budete muset zvolit jiný přístup. Některé užitečné nápady naleznete na adrese:

  • Efektivní techniky pro fuzzy a částečné párování v MongoDB od Johna Page
  • Efektivní částečné vyhledávání klíčových slov od Jamese Tana

Existuje relevantní požadavek na vylepšení, který můžete sledovat/hlasovat v nástroji pro sledování problémů MongoDB:SERVER-15090:Vylepšete textové indexy pro podporu částečné shody slov.



  1. Meteor:nahrávání souboru z klienta do kolekce Mongo vs souborový systém vs GridFS

  2. MongoDB $atanh

  3. Jak bych mohl převést bajty na celý hex řetězec?

  4. Jaký je správný vzor pro vnořená schémata v Mongoose/MongoDB?