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系列经典文章

相关推荐
Coder个人博客8 小时前
Linux6.19-ARM64 mm mmu子模块深入分析
大数据·linux·车载系统·系统架构·系统安全·鸿蒙系统
财经三剑客12 小时前
AI元年,春节出行安全有了更好的答案
大数据·人工智能·安全
岁岁种桃花儿13 小时前
Flink CDC从入门到上天系列第一篇:Flink CDC简易应用
大数据·架构·flink
TOPGUS13 小时前
谷歌SEO第三季度点击率趋势:榜首统治力的衰退与流量的去中心化趋势
大数据·人工智能·搜索引擎·去中心化·区块链·seo·数字营销
2501_9336707914 小时前
2026 高职大数据与会计专业零基础能考的证书有哪些?
大数据
ClouderaHadoop14 小时前
CDH集群机房搬迁方案
大数据·hadoop·cloudera·cdh
TTBIGDATA14 小时前
【Atlas】Ambari 中 开启 Kerberos + Ranger 后 Atlas Hook 无权限访问 Kafka Topic:ATLAS_HOOK
大数据·kafka·ambari·linq·ranger·knox·bigtop
程序员清洒14 小时前
CANN模型部署:从云端到端侧的全场景推理优化实战
大数据·人工智能
lili-felicity15 小时前
CANN多设备协同推理:从单机到集群的扩展之道
大数据·人工智能
pearbing16 小时前
天猫UV量提高实用指南:找准方向,稳步突破流量瓶颈
大数据·uv·天猫uv量提高·天猫uv量·uv量提高·天猫提高uv量