sql >> Databáze >  >> RDS >> Mysql

Nejlepší způsob, jak uložit uživatelům vyhledávací dotazy v ElasticSearch?

Můžete to udělat vytvořením druhého indexu ve vašem clusteru ES. Když uživatel odešle vyhledávání prostřednictvím vaší aplikace, provedete dva kroky.

  1. Odešlete vyhledávání jako dotaz do Elasticsearch pro normální chování vyhledávání.
  2. Odešlete do clusteru požadavek na index s vyhledávacími výrazy, které uživatel zadal.

S druhým indexem všech hledaných výrazů, které byly odeslány, můžete dělat řadu úhledných věcí. Pro váš případ můžete mít pole 'count' stejně jako v SQL, které zvyšujete, jak více lidí hledá tento výraz. Dalším skvělým případem použití jsou výrazy doporučené ve stylu Google. Vaše uživatelské rozhraní může odeslat požadavek na vyhledávání se zadaným textem při každém stisknutí klávesy a naplnit rozevírací seznam hity z dříve hledaných výrazů. Můžete si to dokonce přizpůsobit přidáním uživatelského pole a odfiltrováním výsledků, které nepocházejí od konkrétního uživatele.

Je třeba mít na paměti, že ElasticSearch lze použít jako primární i sekundární úložiště dat. Vždy doporučuji, abyste jako primární data uchovávali pouze data, která jste ochotni ztratit (jako je historie vyhledávání). Uchovávejte důležitá data systému v tradičnějším datovém úložišti, jako je SQL, takže je lze snadno zálohovat a obnovit, pokud se něco pokazí!




  1. Získávání MYSQL Error:Error Code:2006 - MySQL server odešel

  2. Jak rekurzivně odstranit položky z tabulky?

  3. Jak SUBSTRING() funguje v MariaDB

  4. Optimalizujte dotaz, který seskupuje výsledky podle pole ze spojené tabulky