根据命中率进行排序

新手上路,请多包涵

现在的情况:搜索使用match_phrase进行查询,根据公司的注册资金进行排序。
存在问题:如果打错一个字,就搜索不出想要的结果。如:搜“万刻企业股份有限公司”,就搜索不到“万科企业股份有限公司”

目的:进行模糊搜索,但是要把全部命中的排在前面,命中90%接着100%的后面,命中80%接着90%后面。

用solr就可以实现,ES不知如何实现。求社区大神解答。

阅读 4.3k
2 个回答

首先不应该用 match_phrase 进行搜索, match_phrase 是为了搜索一些精确的短语的关键词搜索,所以每一个词都会被当做必须要匹配的词.

这里可以考虑使用match来进行搜索,使用类似于ik-analyzer这类中文分词器进行分词

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进