Kibana搜索数据利器:KQL与Lucene

文章目录

一、搜索数据

默认情况下,您可以使用 Kibana 的标准查询语言,该语言具有自动完成功能和简单易用的语法。Kibana 的旧查询 语言(基于 Lucene 查询语法) 目前在查询栏中的选项菜单下仍然可用。当这个 选择传统查询语言,也可以使用完整的基于 JSON 的 Elasticsearch 查询 DSL。

提交搜索请求时,直方图、文档表和字段 列表将更新以反映搜索结果。默认情况下,匹配以反向列出 按时间顺序排列,最先显示最新文档。您可以反转 通过单击"时间"列标题来排序顺序。

二、KQL查询

Kibana Query Language(KQL)是一种用于在Kibana中进行搜索和过滤数据的查询语法

1、字段搜索

使用field:value的格式来搜索特定字段中的值。

例如,level:DEBUG,将返回level包含DEBUG的文档。

2、逻辑运算符

逻辑运算符:KQL支持逻辑运算符AND、OR和NOT来组合多个条件。

例如,level:DEBUG or level:Info,将返回level包含DEBUG或info的文档,不区分大小写。

3、通配符

通配符:使用*作为通配符来匹配任意字符。

例如,tid:*6199,将返回以"6199"结尾的tid的文档。

4、存在性检查

存在性检查:使用field:*来检查字段是否存在。

例如,@timestamp:*将返回具有`@timestamp字段的文档。

5、括号

括号:使用括号来分组条件。

例如,@timestamp:"2023-12-14T06:55:32.548Z" and (level:info or level:DEBUG)将返回指定时间的level是info 或DEBUG的文档。

三、Lucene查询

Kibana的旧查询语言基于 Lucene 查询语法。目前,此语法 在查询栏和高级设置中的选项菜单下仍然可用。

1、字段搜索

字段搜索:使用field:value的格式来搜索特定字段中的值。

例如,level:DEBUG,将返回level包含DEBUG的文档。

2、逻辑运算符

逻辑运算符:Lucene支持逻辑运算符AND、OR和NOT来组合多个条件。

例如,level:DEBUG or level:Info,将返回level包含DEBUG或info的文档,不区分大小写。

3、通配符

通配符:使用*作为通配符来匹配任意字符。

例如,tid:*0001,将返回以"0001"结尾的tid的文档。

4、范围搜索

范围搜索:使用field:start TO end的格式来搜索字段中的范围。

例如,log.offset:82194291 TO 82194500将返回log.offset在82194291到82194500之间的文档。

5、存在性检查

存在性检查:使用field:*来检查字段是否存在。

例如,@timestamp:*将返回具有`@timestamp字段的文档。

6、括号

括号:使用括号来分组条件。

例如,@timestamp:"2023-12-14T07:06:40.472Z" AND (level:info OR level:DEBUG)将返回指定时间的level是info 或DEBUG的文档。

和KQL语法有区别,条件AND、OR需要大写

四、总结

KQL(Kibana Query Language)和Lucene查询语法在一些方面有一些区别:

语法结构:KQL使用更简洁和易于理解的语法结构,更接近自然语言,使得查询更易于编写和阅读。而Lucene查询语法则更为底层和灵活,需要更多的语法知识和操作。

功能支持:KQL在Kibana中内置了一些特定的功能,如直接在编辑器窗口中生成和编辑代码、支持自动调试和代码库全局理解等。而Lucene查询语法则更通用,可以更灵活地构建复杂的查询。

可扩展性:Lucene查询语法在Elasticsearch中更为底层,可以支持更多高级的查询操作和功能。而KQL是Kibana特定的查询语言,功能相对较为有限。

学习曲线:由于KQL的语法更简洁和易于理解,学习和使用起来相对较为容易。而Lucene查询语法需要更多的语法知识和经验,学习曲线相对较陡。

总的来说,KQL更适合在Kibana中进行简单和常见的搜索和过滤操作,而Lucene查询语法则更适合在Elasticsearch中进行更复杂和高级的查询操作。

详细可以参考官方文档

相关推荐
LaughingZhu19 小时前
Product Hunt 每日热榜 | 2026-09-20
人工智能·深度学习·神经网络·搜索引擎·百度
Y38153266220 小时前
Ruby 调用谷歌搜索 API:net/http 与 json 标准库实战
搜索引擎·ruby
Elastic 中国社区官方博客1 天前
使用 Elasticsearch 和 Jina 进行 AI 视频搜索:精准找到你需要的视频片段秒数
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
SelectDB技术团队1 天前
快手基于 Apache Doris 千亿多模态检索的实践
数据库·数据分析·全文检索·快手·apache doris·向量索引·多模态检索
Y3815326622 天前
C# 调用谷歌搜索 API:HttpClient 与 System.Text.Json 实战
搜索引擎·.net
piikee2 天前
论坛帖子百度收录越来越慢?提高收录速度实测案例
搜索引擎·百度收录·必应快收·好用蜘蛛池·蜘蛛1号·收录慢
goujunwe2 天前
GEO 评估方法:如何自测你的内容,会不会被 AI 引用
搜索引擎·网络安全·游戏引擎·全文检索·中文分词
金士镧厦门新材2 天前
活性氧化铈材料特点及催化应用方向介绍
全文检索
risc1234564 天前
为啥lucene query不可序列化
lucene
hi_ro_a4 天前
基于正倒排索引的boost搜索引擎
linux·c++·搜索引擎·项目