sir*_*jay 3 mysql lucene postgresql full-text-search elasticsearch
我正在开发使用ElasticSearch和SQL数据库的应用程序.那么,保存用户搜索查询和显示最受欢迎请求的统计信息的最佳方法是什么?简单的方法是保存在SQL数据库和计数中.但也许在ElasticSearch中有一些技术?
Chr*_*lin 10
您可以通过在ES群集中创建第二个索引来完成此操作.当用户通过您的应用程序提交搜索时,您执行两个步骤.
使用已提交的所有搜索词的第二个索引,您可以执行许多巧妙的操作.对于您的情况,您可以拥有一个"计数"字段,就像在SQL中一样,随着更多人搜索该术语而增加.另一个很好的用例是谷歌风格推荐条款.您的用户界面可以在每次按键时提交带有输入文本的搜索请求,并使用先前搜索的术语中的匹配填充下拉列表.您甚至可以通过添加用户字段并过滤掉不是来自该特定用户的结果来对此进行个性化.
需要记住的是,ElasticSearch可以用作主数据存储和辅助数据存储.我总是建议您只保留您愿意丢失的数据(如搜索历史记录)作为主要数据.将您的系统关键数据保存在更传统的数据存储(如SQL)中,这样就可以轻松备份和恢复,如果出现任何问题!