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

elasticsearch 常用查询 7.4 版本

Elasticsearch 常用查询

  • match:全文查询
  • exists:查询存在的字段
  • must_not:查询不存在的字段
  • ids:跟据id查询
  • prefix:前缀查询
  • range: 查询范围
  • term:精准查询
  • terms:多术语查询

本文基于es 7.4版本文档

match:全文查询

{"query": {"match" : {"message" : {"query" : "this is a test"}}}
}

exists:查询存在的字段

{"query": {"exists": {"field": "user"}}
}

must_not:查询不存在的字段

{"query": {"bool": {"must_not": {"exists": {"field": "user"}}}}
}

ids:跟据id查询

每个文档都有一个唯一标识它的 _id,该 _id 已加入索引,以便可以使用 GET API 或 ids 查询来查找文档。

{"query": {"ids" : {"values" : ["1", "4", "100"]}}
}

prefix:前缀查询

{"query": {"prefix" : { "user" : "ki" }}
}

range: 查询范围

gt:大于
gte:大于等于
lt:小于
lte:小于等于
format:用于转换查询中的日期值的日期格式。
默认情况下,Elasticsearch 使用 映射中提供的日期格式。 该值会覆盖该映射格式。

{"query": {"range" : {"age" : {"gte" : 10,"lte" : 20,"boost" : 2.0}}}
}

term:精准查询

返回在提供的字段中包含确切术语的文档。

您可以使用术语查询根据精确值(例如价格、产品 ID 或用户名)查找文档。

避免对文本的字段使用 term查询。

默认情况下,Elasticsearch 会更改文本字段的值作为分析的一部分。 这可能会使查找文本字段值的精确匹配变得困难。

要搜索普通文本字段值,建议用match查询。

{"query": {"term": {"user": {"value": "Kimchy","boost": 1.0}}}
}

terms:多术语查询

{"query" : {"terms" : {"user" : ["kimchy", "elasticsearch"],"boost" : 1.0}}
}
http://www.lryc.cn/news/135492.html

相关文章:

  • ChatGpt 从入门到精通
  • vscode远程调试
  • Vue3 数据响应式原理
  • 2023.08.20 学习周报
  • 软件测试技术之单元测试—工程师 Style 的测试方法(2)
  • 项目中超图 for openlayer和超图for cesium同时引入的问题
  • 3D与沉浸式技术,如何助力企业数字化转型?
  • excel vba 将多张数据表的内容合并到一张数据表
  • 接口和抽象类的区别?解析接口和抽象类的特点和用法
  • vscode-vue项目格式化
  • SAP MM学习笔记26- SAP中 振替转记(转移过账)和 在库转送(库存转储)1- 移动Type间振替转记
  • SAP SPL(Special Ledger)之注释行项目-Noted Items
  • 学习平台助力职场发展与提升
  • 有没有免费格式转换工具推荐?PDF转化为PPT的方法
  • 【LeetCode-经典面试150题-day12】
  • TCP机制-延迟应答,捎带应答
  • 【Redis从头学-8】Redis中的ZSet数据类型实战场景之用户积分榜
  • Springboot内嵌SQLite配置使用
  • 【微服务学习笔记】认识微服务
  • 基于Android R快速编译recovery-ramdisk.img
  • Redis分布式缓存
  • 最大公约数和最小公倍数
  • 数据结构——二叉搜索树(附带C++实现版本)
  • C++(3)C++对C的扩展Extension
  • 在vscode(idea)使用GitHub账号、Copilot异常
  • 新的后端渲染:服务器驱动UI
  • Postman如何做接口自动化测试?
  • excel文本函数篇2
  • 【MyBatis】动态SQL > 重点:${...}和#{...}与resultMap和resultType的区别
  • 什么是BEM命名规范?为什么要使用BEM命名规范?