ElasticSearch查询语法

ElasticSearch查询语法ElasticSearc 查询语法

一.查询关键字

1.terms、term查询

term query会去倒排索引中寻找确切的term,它并不知道分词器的存在,这种查询适合keyword、numeric、date等明确值的

GET test_index1/_search { "query": { "term": { "name": "zhangsan" } } }

2.match查询

match query 知道分词器的存在,会对field进行分词操作,然后再查询

GET test_index1/_search { "query": { "match": { "title": "my ss" } } }

match和term区别可以理解为term是精确查询,这边match模糊查询;

1.match会对my ss分词为两个单词

2.term对认为这是一个单词

3.In匹配查询

GET test_index1/_search { "query":{ "terms":{ "name":["张三","王五"] } } }

4.多条件查询语法

bool 过滤

bool 过滤可以用来合并多个过滤条件查询结果的布尔逻辑,它包含一下操作符:

  • must 多个查询条件的完全匹配,相当于 and。
  • must_not 多个查询条件的相反匹配,相当于 not。
  • should 至少有一个查询条件匹配, 相当于 or。

and查询 name=zhangsan,并且describe=xiangxixinxi

GET test_index1/_search { "query": { "bool": { "must": [ { "term": { "name": "zhangsan" } }, { "term": { "describe": "xiangxixinxi" } } ] } } }

or查询 name=zhangsan,或describe=xiangxixinxi1

GET test_index1/_search { "query": { "bool": { "should": [ { "term": { "name": "zhangsan" } }, { "term": { "describe": "xiangxixinxi1" } } ] } } }

5.boost权重查询

es查询无指定排序情况下,分值越大越靠前

GET test_index1/_search { "query": { "bool": { "should": [ { "term": { "name": { "term": "zhangsan", "boost": 1 } } }, { "term": { "name": { "term": "lisi", "boost": 2 } } } ] } } }

name=lisi的条件设置boost=2,权重是条件里最大的,匹配name=lisi的分数会乘以2,排在第一位

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/200519.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月20日 上午10:39
下一篇 2026年3月20日 上午10:40


相关推荐

  • Eclipse使用技巧–代码自动补全功能

    Eclipse使用技巧–代码自动补全功能1、在“触发代码提示”允许的范围之内,空格键和回车键就是快捷键。2、补全代码功能需设置“AutoActivationtriggersforjava”。3、“AutoActivationtriggersforjava”这个选项就是指触发代码提示的的选项,把“.”改成“.abcdefghijklmnopqrstuvwxyz(”的意思,就是指遇到26个字母和“.与(”这些符号就触发代码提示功能了。4、代码提示选项补充完整后,输入关键字即可得到提示功能,得到提示功能后,回车键与空格键就是

    2022年5月31日
    44
  • OpenClaw 安装 + 接入QQ 保姆级教程!附上门卸载服务

    OpenClaw 安装 + 接入QQ 保姆级教程!附上门卸载服务

    2026年3月12日
    2
  • MyBatis 分页插件的实现原理

    MyBatis 分页插件的实现原理分页插件基本原理 使用 MyBatis 提供的插件接口 实现自定义插件 在插件的拦截方法内拦截待执行的 SQL 然后重写 SQL 根据 dialect 方言 添加对应的物理分页语句和物理分页参数

    2026年3月26日
    1
  • PLC控制三相异步电动机正反转系列实训QY-DG800E[通俗易懂]

    PLC控制三相异步电动机正反转系列实训QY-DG800E[通俗易懂]在现代化生产过程中三相异步电动机的应用几乎涵盖了工业农业和人类生活的各个领域。在生产过程中三相异步电动机往往工作在恶劣的环境下,容易产生短路、断相等事故,工作在大型设备的高压电动机与大功率电动机一旦发生故障损失无法估计。在生产过程中,往往要求电动机能够实现正反转来满足人们的需求,如直梯的上升与下降,起重机大车与小车的左右移动以及吊钩的上升与下降等等。传统的继电器控制电路简单实用,但是继电器的频繁动作导致触点不能良好接触而影响工作。在工业生产中,电机调速存在很多不确定的因素,难以做到精确控制。利用PLC

    2022年6月6日
    73
  • mac 开启hidpi_开启hidpi的缺点

    mac 开启hidpi_开启hidpi的缺点在macOS10.15之后,系统中存放DisplayProductID和DisplayVendorID的文件夹Overrides变为只读,若有些tool开HiDPI遇到一些麻烦或失灵的情况,可参考下文用one-key-hidpi的简易方法,具体如下:测试环境:(1)电脑:MacbookPro(2)系统:macOSCatalina10.15.6(3)显示器:SW270C…

    2022年4月19日
    2.6K
  • 在做微信分享到朋友圈时,手机扫码报config:invalid signature,分享后后正常的问题,是url问题…

    在做微信分享到朋友圈时,手机扫码报config:invalid signature,分享后后正常的问题,是url问题…

    2021年10月16日
    58

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号