你不会是程序猿吧?

关于Elasticsearch检索细节问题

匿名 | 发布于2018年04月10日 | 阅读数:1614

检索词“中国软件”,如果想根据该搜索词取到的结果按照字数的命中高低,并且“中”“国”“软”“件”的顺序不打乱,允许字与字之间夹杂其他字,如结果集中有“中国(北京)软件”,该如何调用es-api来查询,试了boolquery,matchphrasequery,termquery个个组合也没达到这种效果,求帮助
已邀请:

jlhde123

赞同来自: laoyang360

用match_phrase,会没用?这个正好是你的需求呀。
slop=0应该就可以了

wokeyi

赞同来自:

首先,需要被检索的字段 必须设置成类似于“standard”的标准分词,会将“中国(北京)软件”拆分为“中”、“国”、“北”、“京”、“软”、“件”;
然后关键字也必须使用类似“standard”的分词器,将关键词逐字拆解,才能和索引中的数据匹配;

要回复问题请先登录注册