ES query_string 踩坑

今天突然遇到文件名搜不到的情况,查看了ES DSL语句,发现文件名使用 query_string 查询,而文件名是 keyword 类型字段。

经过实验和上网搜索,发现 keyword 类型字段是不分词的,query_string 查询是分词的,只有完全匹配才能使用 query_string 查询到 keyword 类型字段,因此模糊匹配的方式查询 keyword 类型字段,是行不通的,又是一通修改检索语句,牵一发动全身,全文检索语句迎来了一次完全修改。
要点:

  • keyword 类型的字段模糊检索需要用 wildcard来检索
  • query_string 查询是提前分词的,适合查询 text 类型的字段
  • keyword 类型字段不分词
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容