ES模糊查询失效问题

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

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


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

POST/_analyze{
"analyzer": "standard",
"text": "你好我是张三 i am very happy"}
目录
相关文章
|
存储 JSON 网络协议
ElasticsearchRestTemplate客户端使用
ElasticsearchRestTemplate客户端使用
|
5月前
|
监控 数据可视化 Java
Spring Boot 整合 Elasticsearch 及实战应用
这次内容详细介绍如何使用 Spring Boot 整合 Elasticsearch,并提供几个实际应用案例。内容涵盖 Elasticsearch 的基本概念、Spring Boot 整合步骤、实战应用示例以及优化建议。
642 0
|
存储 Java 索引
Elastic实战:彻底解决spring-data-elasticsearch日期、时间类型数据读取报错问题
在使用spring-data-elasticsearch读取es中时间类型的数据时出现了日期转换报错,不少初学者会在这里困惑很久,所以今天我们专门来解读该问题的几种解决方案。
2894 0
Elastic实战:彻底解决spring-data-elasticsearch日期、时间类型数据读取报错问题
|
12月前
|
人工智能 Java API
MCP客户端调用看这一篇就够了(Java版)
本文详细介绍了MCP(Model Context Protocol)客户端的开发方法,包括在没有MCP时的痛点、MCP的作用以及如何通过Spring-AI框架和原生SDK调用MCP服务。文章首先分析了MCP协议的必要性,接着分别讲解了Spring-AI框架和自研SDK的使用方式,涵盖配置LLM接口、工具注入、动态封装工具等步骤,并提供了代码示例。此外,还记录了开发过程中遇到的问题及解决办法,如版本冲突、服务连接超时等。最后,文章探讨了框架与原生SDK的选择,认为框架适合快速构建应用,而原生SDK更适合平台级开发,强调了两者结合使用的价值。
13948 33
MCP客户端调用看这一篇就够了(Java版)
|
Java Spring
SpringBoot: 启动Banner在线生成工具
SpringBoot: 启动Banner在线生成工具
40331 1
SpringBoot: 启动Banner在线生成工具
Java系列之 For input string: ““
这篇文章讨论了Java中因尝试将空字符串转换为其它数据类型(如int)时出现的`For input string: ""`错误,并提供了通过非空检查来避免此错误的解决方法。
|
监控 安全 Java
ElasticSearch在Windows上的下载与安装
ElasticSearch在Windows上的下载与安装
|
人工智能 JSON 数据格式
Dify开发工作流
这篇文章详细介绍了如何使用Dify平台进行工作流的创建与配置,包括设置变量、条件分支以及集成不同工具和服务来自动化任务处理流程。
6645 1
Dify开发工作流
|
JSON Linux 测试技术
使用Elasticsearch Template实现新索引创建的自动管理
Elasticsearch Template是一种将预定义模板应用于新索引的功能。在索引创建时,它可以自动为新索引应用已定义的模板。Template功能可用于定义索引的映射、设置和别名等。它是一种自动化管理索引创建的方式,使用户可以在大量索引上快速而一致地应用模板。
961 0
|
搜索推荐
ChatGPT高效提问—prompt实践(法律助手)
ChatGPT高效提问—prompt实践(法律助手)
515 0