业界动态
Elasticsearch 查询 KQL
2024-11-11 09:46

我们对于Elasticsearch的使用长期以来还是停留在kibana discover中输入关键词进行简单的日志搜索,对于ES的核心搜索查询的理解和使用仍比较浅显。最近正好接到一个稍微复杂的需求,趁这个机会更加深入的去了解下搜索查询,本文先以最基础的KQL入门,后面再逐步展开。

Elasticsearch 查询 KQL

Kibana discover 和 KQL

在Kibana discover中进行搜索,默认的都是使用的KQL (Kibana Query Language),KQL only filters data, and has no role in aggregating, transforming, or sorting data。KQL功能较简单,只能用来过滤,并不具备聚合,转换排序能功能。

我们最常见的在搜索栏中直接搜索关键词,实际上是针对所有的field进行搜索:

但实际上大多数情况下我们只是想针对message这个field进行搜索error关键词,可以采用以下指定字段的方式搜索,这样搜索的效率会更高:

    针对 keyword, numeric, date, or boolean fields等类型的查询的时候必须是完全匹配(exact match)。

    默认不加双引号针对text field进行查询的时候, 查询的关键词不进行排序的,如下例子:

      只要message字段中包含null 和 pointer这二个单独的单词即可,无论是在句中为null pointer 还是 pointer null或者是pointer test null。如果需要按照提供的顺序进行搜索的话需要用双引号引起来:

        平时用的最多的就是关键词查询,KQL同时也支持进行范围查询, 比如我们有一个日志会有个字段记录的timestamp类型的时间:

            Combining multiple queries

            针对复合条件查询可以采用AND OR 关键词(not case-sensitive), 针对更复杂一点的条件还可以和代码一样使用括号:

              或者这样的:

                KQL还有一些其他的功能,比如query nested fields等,大家可以直接查阅官方文档

                https://www.elastic.co/guide/en/kibana/current/kuery-query.html

                小结

                开发和业务同学查询日志,主要是使用的是KQL,了解KQL的基本语法,善用discover页面提供的dataview和filter功能,可以大幅提高搜索的效率和时间。其实这个和大家经常看到的Mysql优化一样,为了提高Mysql查询的效率可以在sql查询本身,索引,表结构,系统以及硬件层面多个方面进行优化,放在ES中是同样的道理,优化查询本身(KQL,Query DSL), 结合Index和Shard的设计,操作系统和使用SSD硬盘等多个层面都进行优化,才能更好的提升查询效率。

                    以上就是本篇文章【Elasticsearch 查询 KQL】的全部内容了,欢迎阅览 ! 文章地址:http://xiaoguoguo.dbeile.cn/news/696.html 
                     资讯      企业新闻      行情      企业黄页      同类资讯      首页      网站地图      返回首页 多贝乐移动站 http://xiaoguoguo.dbeile.cn/mobile/ , 查看更多   
                最新新闻
                手机热点不稳定(手机热点不稳定,总是断开)
                  关于手机热点不稳定的问题  一、引言  随着移动互联网的普及,手机热点已成为我们日常生活中重要的网络接入方式之一。然
                手机自动检测(手机自动检测在哪里)
                  关于手机自动检测的文章  随着科技的飞速发展,智能手机已经成为我们日常生活中不可或缺的一部分。为了更好地服务用户,手
                手机流量包(如何购买联通手机流量包)
                  关于《手机流量包》的文章  随着移动互联网的普及,手机流量已经成为我们日常生活中不可或缺的一部分。为了满足不同用户的
                手机桌面宠(手机桌面宠物软件)
                  文章标题:《手机桌面宠:一种全新的数字伴侣体验》  随着科技的快速发展,智能手机已经渗透到我们日常生活的方方面面。在
                怎样清理手机壳(怎样清理手机壳周围的黑)
                  《怎样清理手机壳》  随着智能手机的普及,手机壳成为了保护手机不可或缺的一部分。然而,长时间使用会导致手机壳变脏或积
                3000以下的手机(3000以下的手机实用耐用)
                  关于《三千元以下手机》的文章  随着科技的快速发展,智能手机已经成为我们日常生活中不可或缺的一部分。如今,市场上充斥
                手机换硬盘(手机换硬盘多少钱)
                  关于手机换硬盘的文章  随着科技的快速发展,智能手机已成为我们日常生活中不可或缺的一部分。然而,随着使用时间的增长,
                国产折叠手机(国产折叠手机性价比排名)
                  国产折叠手机:革新科技与未来展望  随着科技的飞速发展,智能手机作为现代生活的必需品,不断推陈出新。近年来,国产折叠
                手机当扫描仪(手机当扫描仪扫描头部数据)
                  文章标题:《手机当扫描仪:科技革新下的便捷之选》  随着科技的飞速发展,智能手机的功能已经远远超越了单纯的通话和娱乐
                手机怎么与电视投屏(手机怎么与电视投屏?)
                  《手机怎么与电视投屏》  随着科技的飞速发展,我们的生活越来越离不开各种智能设备。其中,手机与电视作为家庭娱乐的主要