搜索你的数据
通过在查询栏中输入搜索条件,可以搜索与当前索引模式匹配的索引,你可以使用Kibana的标准查询语言(基于Lucene查询语法)或完整的基于JSON的Elasticsearch Query DSL。作为实验性特性,Kibana查询语言可以使用自动完成和简化查询语法,你可以在查询栏的options菜单下选择这些特性。
提交搜索请求时,将更新直方图、文档列表和字段列表,以反映搜索结果,命中的总数(匹配的文档)显示在工具栏中,文档列表显示前500个命中。默认情况下,命中的是按时间倒序排列的,最新的文档首先显示,你可以通过单击时间列标题来反转排序顺序,还可以根据任何索引字段中的值对列表进行排序,有关更多信息,请参阅对Documents列表进行排序。
要搜索你的数据,请在查询栏中输入你的搜索条件,然后按Enter
或单击search
按钮将请求提交到Elasticsearch。
你可以通过在高级设置下将search:queryLanguage
更改为kuery
来默认选择我们的实验查询特性。
Lucene查询语法
Kibana的查询语言一直基于Lucene查询语法,以下是一些可以帮助你开始的技巧。
- 要执行一个自由的文本搜索,只需输入一个文本字符串,例如,如果你正在搜索web服务器日志,你可以输入
safari
以搜索safari
条文的所有字段。 - 要在特定字段中搜索值,请在该值前面加上字段的名称,例如,你可以输入
status:200
以查找status
字段中包含值200
的所有条目。 - 要搜索一个值范围,可以使用带括号的范围语法,
[START_VALUE TO END_VALUE]
,例如,要查找具有4xx状态码的条目,可以输入status:[400 TO 499]
。 - 要指定更复杂的搜索条件,可以使用布尔运算符
AND
、OR
和NOT
,例如,要查找具有4xx状态码并具有php
或html
的extension
的条目,可以输入status:[400 TO 499] AND (extension:php OR extension:html)
。
有关Lucene查询语法的详细信息,请参见查询字符串查询文档。
这些示例使用Lucene查询语法,当选择lucene作为查询语言时,你还可以使用Elasticsearch Query DSL提交查询。
Kibana查询语言增强
这个功能是实验性的,在将来的版本中可能会完全改变或删除。
在6.0中,我们引入了一种实验性查询语言Kuery,我们把从实验中学到的应用到标准的Kibana语查询语言中,因此,Kuery不再作为独立的选项可用,使用Kuery保存的搜索将自动选择使用本页面中描述的语言增强,但是,对查询语法做了一些修改,因此请继续阅读有关新内容的详细信息。
从6.3开始,你可以在查询栏的options菜单下选择加入一些令人兴奋的实验性查询语言增强,目前,可选项将支持自动完成功能、脚本字段支持和简化、更容易的使用语法。我们正在努力构建更多的特性供你尝试,利用这些特性,让我们知道你的想法!
新的简化语法
如果你熟悉Kibana的旧的lucene查询语法,那么你就应该很快熟悉新语法,基本保持不变,我们只是改进了一些东西,使查询语言更容易使用,阅读下面的更改。
response:200
将匹配response
字段匹配值200
的文档。
在搜索词的前后加引号将启动短语搜索,例如,message:“Quick brown fox”
将在message
字段中搜索短语“Quick brown fox”
,如果没有引号,你的查询将通过message
字段的配置分析器分解为令牌,并将匹配包含这些令牌的文档,无论它们出现的顺序如何。这意味着使用“quick brown fox”
的文档会匹配,而使用“quick fox brown”
的文档也会匹配,如果你想搜索一个短语,记得使用引号。
查询解析器将不再在空格上拆分,多个搜索词必须由显式布尔运算符分隔,注意,布尔运算符不区分大小写。
response:200 extension:php
在lucene中将变成response:200 and extension:php
,这将匹配response
与200
匹配并且extension
与php
匹配的文档。
我们可以使用or
让条文可选。
response:200 or extension:php
将匹配response
匹配200
、extension
匹配php
或两者都匹配的文档。
默认情况下,and
具有比or
更高的优先级。
response:200 and extension:php or extension:css
将匹配response
为200
并且extension
为php
的文档或extension
是css
并且response
为任何值的文档。
我们可以用分组覆盖默认优先级。
response:200 and (extension:php or extension:css)
将匹配response
为200
并且extension
为php
或css
的文档。
存在一种简写方式,允许我们轻松地在单个字段中搜索多个值。
response:(200 or 404)
搜索response
字段匹配200
或404
的文档,我们还可以搜索包含条文列表的多值字段的文档,例如:tags:(success and info and security)
。
在条文前加上not
可以使它们颠倒。
not response:200
将匹配所有response
不为200
的文档。
整个组也可以被颠倒。
response:200 and not (extension:php or extension:css)
范围查询与lucene相似,只是语法上很小的差异。
替代bytes:>1000
,我们省略了冒号:bytes > 1000
。
>, >=, <, <=
均为有效范围运算符。
现有查询很简单,不需要特殊的操作符,response:*
将找到所有存在response
字段的文档。
通配符查询可用,machine.os:win*
将匹配machine.os
字段以"win"
开头的文档,它将匹配像“windows 7”
和“windows 10”
的值。
通配符还允许我们同时搜索多个字段,当你同时拥有一个text
和keyword
版本的字段时,这可以派上用场,假设我们有machine.os
和machine.os.keyword
字段并且我们都想要检索"windows 10"
这个词,我们可以像这样做:machine.os*:“windows 10”
。
没有字段的条文将在索引设置中与默认字段进行匹配,如果没有设置默认字段,这些条文将与所有字段匹配,例如,response:200
查询将在response
字段中搜索值200
,而仅搜索200
的查询将在索引中的所有字段中搜索200
。
保存和打开搜索
保存搜索使你能够重新加载它们到Discover
中,并将它们用作可视化的基础,保存搜索将保存搜索查询字符串和当前选择的索引模式。
保存搜索
保存当前搜索:
- 在Kibana工具栏中点击Save。
- 输入搜索的名称并单击Save。
你可以从Management/Kibana/Saved Objects导入、导出和删除已保存的搜索。
打开一个保存的搜索
将保存的搜索载入Discover:
- 单击Kibana工具栏中的Open。
- 选择要打开的搜索。
如果保存的搜索关联的索引模式与当前选择的索引模式不同,打开保存的搜索将更改所选的索引模式,用于保存的搜索的查询语言也将被自动选择。
改变你正在搜索的索引
当你提交一个搜索请求时,搜索与当前选择的索引模式匹配的索引,当前索引模式显示在工具栏下面,要更改你正在搜索的索引,请单击索引模式并选择一个不同的索引模式。
有关索引模式的更多信息,请参见创建索引模式。
刷新搜索结果
随着更多的文档被添加到你正在搜索的索引中,在Discover中显示的并用于显示可视化的搜索结果变得陈旧,你可以配置一个refresh interval来定期重新提交搜索,以检索最新的结果。
启用自动刷新:
- 在Kibana工具栏上单击Time Picker按钮。
- 点击Auto refresh。
- 从列表中选择一个刷新间隔。
启用自动刷新时,刷新间隔将显示在时间选择器旁边,并显示一个暂停按钮,要临时禁用自动刷新,请单击Pause。
如果没有启用自动刷新,你可以通过单击Refresh手动刷新可视化效果。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。