ES模糊查询失效问题

简介: 记录一下今天帮同事排查的一个问题

今天同事找我说ES的模糊查询失效了,让我帮忙看一下是什么情况,经过mapping的查看发现那个对应的字段在入数的时候变成了text类型,导致wildcard失效,因为我们text类型在存储前会自动进行分词处理,当我们使用wildcard查询中文的时候,相当于是对拆分后的词组进行查询,该语句已经不是完整的了,正常情况下,text类型需要搭配分词器进行match查询使用,如果有中文,还需要接入IK分词器或者自定义分词器,如果我们要使用模糊查询的话要使用keyword类型,因为keyword类型默认是不会进行切分处理的.


我们也可以使用下述的语句来查看对应默认分词器的分词结果

POST/_analyze{
"analyzer": "standard",
"text": "你好我是张三 i am very happy"}
目录
相关文章
|
6月前
|
SQL 数据库
MyBatisPlus-null判定及查询指定字段
MyBatisPlus-null判定及查询指定字段
714 0
|
SQL Java 数据库
【MybatisPlus】MP的分页查询、多条件查询以及查询过程中解决null的空值判定
分页查询、多条件查询以及查询过程中解决null的空值判定
1520 0
【MybatisPlus】MP的分页查询、多条件查询以及查询过程中解决null的空值判定
|
5月前
|
索引
Elasticsearch 精确查询:术语查询、多术语查询、主键查询、范围查询、存在查询、前缀查询、正则查询与通配符查询
Elasticsearch 精确查询:术语查询、多术语查询、主键查询、范围查询、存在查询、前缀查询、正则查询与通配符查询
|
6月前
|
存储 Unix 索引
ES常用查询命令
ES常用查询命令
|
6月前
|
算法 BI 数据库
MyBatisPlus查询条件设置、映射匹配兼容性、id生成策略、多数据操作
MyBatisPlus查询条件设置、映射匹配兼容性、id生成策略、多数据操作
374 3
|
5月前
|
SQL 关系型数据库 MySQL
MySQL数据库——索引(5)-索引使用(上),验证索引效率、最左前缀法则、范围查询、索引失效情况、SQL提示
MySQL数据库——索引(5)-索引使用(上),验证索引效率、最左前缀法则、范围查询、索引失效情况、SQL提示
72 0
|
SQL 存储 关系型数据库
为什么SQL语句命中索引比不命中索引要快?
有位粉丝面试高开的时候被问到,为什么SQL语句命中索引比不命中索引要快?虽然自己也知道答案,但被问到的瞬间,就不知道如何组织语言了。今天,我给大家深度分析一下。
92 0
|
SQL JSON 数据格式
ES中如何实现空值和非空值的查询
ES中如何实现空值和非空值的查询
4713 0
|
存储 缓存 JSON
Redis实现分页+多条件模糊查询组合方案
Redis实现分页+多条件模糊查询组合方案
397 0
|
人工智能
ES中更新字段和删除字段的操作
ES中更新字段和删除字段的操作