elasticsearch系列三:常用查询语法

概述

前几篇我们介绍了如何在es中存储数据,如何更加合理的存储数据,今天我们来说下常用的查询语法,如何实现mysql中的等于、大于、小于、and 、or、in等方式。

案例

我们以kibana为例,比如sql中的等于,在es中可以用term实现如下图:

and我们可以看到filter是一个数组的结构,其实就等于and,我们可以在filter中并存多个条件,如下图:

那么通过java Api怎么实现呢?来看下:

or的话我们可以通过shuld的方式实现,kibana中对应的语法:

那么in呢?我们可以通过must+shuld的方式实现,kibana对应的语法:

对应java中的代码语法:

大于小于对应range语法,也就是范围匹配,gt就是对应大于、lt就是对应小于、gte就是对于等于,比如我们进行时间范围的查询:

对应的java中的语法:

咱们最后说下模糊查询的问题,前面说的呢都是基于keyword的精确查询,那么对于text的格式存储的数据大多数是通过模糊的形式,常用的算是match语法了,并且可以基于es的相关度分数设置高亮,我们还是看下基本kibana语法是怎么样的:

match性能是很慢的,所以非特殊业务下不建议使用该api,我们想用左前缀查询怎么办呢?可以通过match_phrase_prefix的方式,并且可以和上面说的条件共同使用,咱们看下例子:

总结

基本常用的查询语法都说了下,在给大家分享一个经验,通过java操作es的时候如果不熟悉api,可以基于kibana自动提示功能基本可以实现基本语法,然后根据kibana中的语法摸索出来java中API,好了咱们今天先到这,下期咱们看下如何更好的运维es集群。


Elasticsearch系列经典文章

相关推荐
思码逸研发效能22 分钟前
代码度量分析入门:从0到1掌握核心指标
大数据·人工智能·研发效能·研发管理
云境筑桃源哇24 分钟前
亿迈跨境分销商城启航
大数据·人工智能
Sylvia33.1 小时前
OpenClaw + 数眼智能:Windows/Mac 双系统部署与特价模型接入实战指南
大数据·人工智能
瑞通软件源头厂家1 小时前
瑞通酒店管理系统:开启酒店成本控制智能新篇
大数据·人工智能
搭贝2 小时前
长沙韶光芯材|精准管控工时,夯实高端制造数字化管理根基
大数据·人工智能·低代码·自动化·sass
yhdata2 小时前
281.3亿元!医疗保健提供商数据管理软件市场稳步扩容,2032年有望冲刺468.5亿元
大数据·人工智能·物联网
放下华子我只抽RuiKe53 小时前
AI大模型开发-实战精讲:从零构建 RFM 会员价值模型(再进阶版:模拟数据 + 动态打分 + 策略落地)
大数据·人工智能·深度学习·elasticsearch·机器学习·搜索引擎·全文检索
Deepoch3 小时前
Deepoc具身模型开发板:为机械臂清洁机器人注入“智慧灵魂”
大数据·科技·机器人·机械臂·清洁机器人·具身模型·deepoc
Eward-an4 小时前
华为ModelEngine全流程评测:从智能体开发到应用编排,解锁企业级AI开发新范式
大数据·人工智能
tang777894 小时前
哪些行业用动态代理ip?哪些行业用静态代理IP?怎样区分动态ip和静态ip?(互联网人必码·实用长文)
大数据·网络·爬虫·python·网络协议·tcp/ip·智能路由器