使用建议进行自动填充搜索的最佳选项?

时间:2017-05-24 04:19:36

标签: jquery elasticsearch solr nlp

我希望通过自动完成为我的网站开发像google这样的搜索功能。场景如下

  • 用户可以输入包含拼写错误的关键字,并仅针对我们网站中的项目获取正确的建议
  • 如果用户输入单词
  • ,则必须获得自动填充建议
  • 必须能够输入关键字并培训建议模型

经过一番研究,我发现以下产品能够完成这样的任务

  • Apache Solr
  • Elasticsearch

有人可以解释这两项服务并告诉我哪些可以用最少的开发工作和最高效率开发?如果有任何其他产品符合上述情景提示我,请。

1 个答案:

答案 0 :(得分:0)

Elasticsearch以推荐者(https://www.elastic.co/guide/en/elasticsearch/reference/current/search-suggesters.html)的形式提供这些功能。

  • Term-Suggester能够通过编辑距离建议其他术语。这意味着它可以“修复”错别字。
  • 短语建议者更复杂,但基本上建议使用“固定”短语。
  • 完成 - 建议器基本上是自动完成的。

他们都依赖于他们的索引数据。基本上,您索引这些建议器将起作用的真实/正确搜索短语。很酷的是,当您向这些索引添加新的搜索短语时,“模型”将自动更新。这意味着您可以随着时间的推移扩展功能。

不幸的是,我还没有使用过这些,所以我不能给你关于如何做的建议/提示。尝试参考文档 - 它通常非常好。但是,如果您还不知道Elasticsearch,我想这个任务可能有点困难。所以你可能想阅读“入门”。

至于Solr:我不知道你是怎么做到的。我只知道它使用相同的底层文本搜索引擎 - Apache Lucene。所以我希望它们在功能方面没有太大差别。