看,灰机...

elasticsearch怎么使得:搜索结果必须与搜索关键词顺序一样

Elasticsearch | 作者 suoiruc | 发布于2020年12月16日 | 阅读数:2439

elasticsearch版本6.3.0
 例如elasticsearch中存在以下多条数据:
A。。。B。。。C
B。。。C。。。A
C。。。B。。。A
 
如果在搜索过程中使用ABC输入搜索,希望只返回A。。。B。。。C这一条结果,请问各位大佬应该如何操作?
 
目前使用的是ik+pinyin的分析器,场景是希望中文搜索场景
已邀请:

waywu

赞同来自: suoiruc

match_phrase + slop 或者 token_filter加个shingle试试

lemons

赞同来自: suoiruc

可以通过分词器的指定类型keyword进行查询
GET _analyze
{
  "analyzer": "keyword",
  "text": "ABC"
}
此时查询时,就会按照ABC当做一个词组精确搜索

FFFrp

赞同来自: suoiruc

match_phrase   只有在slop 0的时候是完全按照顺序的,只要slop调大就会出现乱序的问题,6.x没有找到合适的办法,7.x可以使用https://www.elastic.co/guide/e ... .html试试

要回复问题请先登录注册