当前位置: 首页 > article >正文

Elasticsearch term精确查询无数据

Elasticsearch数据库中存在数据,但是使用term无法查到,
原因Elasticsearch 对文本字段的处理有两种主要类型:text 和 keyword,
当你对 text 类型的字段使用 match 查询时,Elasticsearch 会自动对查询字符串进行分词,并在倒排索引中查找匹配的词项,
解决办法是需要指定不分词,在field字段名称后面加上.keyword

修改前脚本:

GET /hotel/_search
{
  "query": {
    "term": {
        "city": "上海"
    }
  }
}

修改后脚本:

GET /hotel/_search
{
  "query": {
    "term": {
        "city.keyword": "上海"
    }
  }
}

http://www.kler.cn/a/538362.html

相关文章:

  • Docker从入门到精通- 容器化技术全解析
  • win32汇编环境,结构体的使用示例一
  • 微服务 day01 注册与发现 Nacos OpenFeign
  • Redis03 - 高可用
  • 快速上手Vim的使用
  • libtorch的c++,加载*.pth
  • Maven 依赖范围与排除
  • 如何训练开源模型成为专业业务模型
  • Racecar Gym 总结
  • DeepSeek训练成本与技术揭秘
  • android中关于CheckBox自定义选中图片选中无效问题
  • 京准:NTP卫星时钟服务器对于DeepSeek安全的重要性
  • ChatGPT搜索免费开放:AI搜索引擎挑战谷歌霸主地位全面分析
  • docker compose文件中的${}怎么赋值
  • uniapp 编译生成鸿蒙正式app步骤
  • JAVA安全—FastJson反序列化利用链跟踪autoType绕过
  • Composo:企业级AI应用的质量守门员
  • 四元数:连接四维时空与三维旋转的数学桥梁
  • 超越传统IDE:Cursor智能编码介绍
  • Mysql系列之--InnoDB存储引擎
  • 基于 Linux 与 CloudFlare 的智能实时 CC/DDoS 防御方案
  • Vue 3 30天精进之旅:Day 18 - 测试Vue组件
  • DeepSeek模拟阿里面试官——java基础(面向对象)
  • 什么是网络安全审计?网络安全审计的作用...
  • 10vue3实战-----实现登录的基本功能
  • 【CubeMX-HAL库】STM32F407—无刷电机学习笔记