本文介绍: es正常的prefix只能进行词语匹配,而中文分词大部分按字分词,不按语义分词,所以无法搜索正确前缀匹配,而能进行短语匹配match_phrase_prefix匹配,是正常按前几个词进行匹配,最后一个词进行前缀匹配,也不满足要求。查阅很多资料发现,离正确答案只差一个keyword。:es进行前缀匹配用来进行智能补全。

需求:es进行前缀匹配用来进行智能补全
过程:es正常的prefix只能进行词语匹配,而中文的分词大部分按字分词,不按语义分词,所以无法搜索正确前缀匹配,而能进行短语匹配的match_phrase_prefix匹配,是正常按前几个词进行匹配,最后一个词进行前缀匹配,也不满足要求。查阅很多资料发现,离正确答案只差一个keyword
代码

curl -X POST "localhost:9200/information_completion/_search?pretty" -H 'Content-Type:application/json' -d '{
  "_source": ["text"],
  "text": {
    "prefix": {
      "text.keyword": "中云街"
    }
  }
}
'

参考资料

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注