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

MongoDB fulltextové vyhledávání + řešení pro částečnou shodu slov

Jazykové odvození v textovém vyhledávání používá algoritmus, aby se pokusil dát do souvislosti slova odvozená ze společného základu (např. „běh“ by měl odpovídat slovu „běh“). To se liší od shody předpony (např. „modrá“ shoda „borůvka“), kterou chcete implementovat pro funkci automatického doplňování.

Chcete-li co nejefektivněji používat typeahead.js s textovým vyhledáváním MongoDB bych navrhoval zaměřit se na prefetch podpora v přepisu:

  • Vytvořte keywords kolekce, která má běžná slova (možná s počtem četnosti použití) používaná ve vaší sbírce. Tuto sbírku můžete vytvořit spuštěním Map/Reduce v celé kolekci máte index textového vyhledávání a seznam slov udržujte aktuální pomocí pravidelného Incremental Map/Reduce při přidávání nových dokumentů.

  • Nechte svou aplikaci vygenerovat dokument JSON z keywords kolekce s jedinečnými klíčovými slovy (možná omezená na „populární“ klíčová slova na základě četnosti slov, aby byl seznam spravovatelný/relevantní).

Vygenerovaná klíčová slova JSON pak můžete použít pro automatické doplňování na straně klienta pomocí prefetch typeahead funkce:

$('.mysearch .typeahead').typeahead({
  name: 'mysearch',
  prefetch: '/data/keywords.json'
});

typeahead.js uloží do mezipaměti prefetch Data JSON v localStorage pro vyhledávání na straně klienta. Po odeslání vyhledávacího formuláře může vaše aplikace používat MongoDB na straně serveru textové vyhledávání vrátit úplné výsledky v pořadí podle relevance.



  1. Souhrn různých podtypů v dokumentu kolekce

  2. Exportujte kolekci MongoDB do souboru CSV

  3. SocketException:Adresa se již používá MONGODB

  4. mongodb vybrat z různých databází