ES模糊查询失效问题

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

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


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

POST/_analyze{
"analyzer": "standard",
"text": "你好我是张三 i am very happy"}
目录
相关文章
|
8月前
|
SQL Oracle 关系型数据库
分析索引失效的几种情况
联合索引 is not null 只要在建立的索引列(不分先后)都会走, in null时 必须要和建立索引第一列一起使用,当建立索引第一位置条件是is null 时,其他建立索引的列可以是is null(但必须在所有列 都满足is null的时候),或者=一个值; 当建立索引的第一位置是=一个值时,其他索引列可以是任何情况(包括is null =一个值),以上两种情况索引都会走。其他情况不会走。
111 1
|
8月前
|
SQL Oracle 关系型数据库
索引失效的情况分析
大家都知道,一条查询语句走了索引和没走索引的查询效率是非常大的,在我们建好了表,建好了索引后,但是一些不好的sql会导致我们的索引失效,下面介绍一下索引失效的几种情况
54 0
|
7月前
|
索引
Elasticsearch 精确查询:术语查询、多术语查询、主键查询、范围查询、存在查询、前缀查询、正则查询与通配符查询
Elasticsearch 精确查询:术语查询、多术语查询、主键查询、范围查询、存在查询、前缀查询、正则查询与通配符查询
|
7月前
|
SQL 关系型数据库 MySQL
MySQL数据库——索引(5)-索引使用(上),验证索引效率、最左前缀法则、范围查询、索引失效情况、SQL提示
MySQL数据库——索引(5)-索引使用(上),验证索引效率、最左前缀法则、范围查询、索引失效情况、SQL提示
114 0
|
SQL JSON 数据格式
ES中如何实现空值和非空值的查询
ES中如何实现空值和非空值的查询
4823 0
|
存储 缓存 JSON
Redis实现分页+多条件模糊查询组合方案
Redis实现分页+多条件模糊查询组合方案
418 0
一日一技:在ES中如何使用通配符搜索keyword字段
一日一技:在ES中如何使用通配符搜索keyword字段
333 0
|
存储 缓存 JSON
Redis实现分页和多条件模糊查询方案
本文将基于Redis提供条件查询+分页的技术解决方案。
1774 0
Redis实现分页和多条件模糊查询方案
|
数据库 索引
MysSQL索引会失效的几种情况分析
MysSQL索引会失效的几种情况分析
159 0
MysSQL索引会失效的几种情况分析
|
存储 SQL 搜索推荐
索引失效案例
索引失效案例
索引失效案例