Discover 标签页用于交互式探索你的数据。你可以访问到匹配得上你选择的索引模式的每个索引的每条记录。你可以提交搜索请求,过滤搜索结果,然后查看文档数据。你还可以看到匹配搜索请求的文档总数,获取字段值的统计情况。如果索引模式配置了时间字段,文档的时序分布情况会在页面顶部以柱状图的形式展示出来。
时间过滤器(Time Filter)限制搜索结果在一个特定的时间周期内。如果你的索引包含的是时序诗句,而且你为所选的索引模式配置了时间字段,那么就就可以设置时间过滤器。
默认的时间过滤器设置为最近 15 分钟。你可以用页面顶部的时间选择器(Time Picker)来修改时间过滤器,或者选择一个特定的时间间隔,或者直方图的时间范围。
要用时间选择器来修改时间过滤器:
要从柱状图上设置时间过滤器,有以下几种方式:
你可以用浏览器的后退键来回退你的操作。
在 Discover 页提交一个搜索,你就可以搜索匹配当前索引模式的索引数据了。你可以直接输入简单的请求字符串,也就是用 Lucene query syntax,也可以用完整的基于 JSON 的 Elasticsearch Query DSL。
当你提交搜索的时候,直方图,文档表格,字段列表,都会自动反映成搜索的结果。hits(匹配的文档)总数会在直方图的右上角显示。文档表格显示前 500 个匹配文档。默认的,文档倒序排列,最新的文档最先显示。你可以通过点击时间列的头部来反转排序。事实上,所有建了索引的字段,都可以用来排序,稍后会详细说明。
要搜索你的数据:
safari
来搜索各字段中的 safari
单词。status:200
来限制搜索结果都是在 status
字段里有 200
内容。[START_VALUE TO END_VALUE]
。比如,要查找 4xx 的状态码,你可以输入 status:[400 TO 499]
。AND
, OR
, 和 NOT
。比如,要查找 4xx 的状态码,还是 php
或 html
结尾的数据,你可以输入 status:[400 TO 499] AND (extension:php OR extension:html)
。这些例子都用了 Lucene query syntax。你也可以提交 Elasticsearch Query DSL 式的请求。更多示例,参见之前 Elasticsearch 章节。
Search
按钮提交你的搜索请求。要清除当前搜索或开始一个新搜索,点击 Discover 工具栏的 New Search 按钮。
你可以在 Discover 页加载已保存的搜索,也可以用作 visualizations 的基础。保存一个搜索,意味着同时保存下了搜索请求字符串和当前选择的索引模式。
要保存当前搜索:
Save Search
按钮 Save
。要加载一个已保存的搜索:
Load Search
按钮 如果已保存的搜索关联到跟你当前选择的索引模式不一样的其他索引上,加载这个搜索也会切换当前的已选索引模式。
当你提交一个搜索请求,匹配当前的已选索引模式的索引都会被搜索。当前模式模式会显示在搜索栏下方。要改变搜索的索引,需要选择另外的模式模式。
要选择另外的索引模式:
Settings
按钮 关于索引模式的更多细节,请阅读稍后 Setting 功能小节。
亦可以配置一个刷新间隔来自动刷新 Discover 页面的最新索引数据。这回定期重新提交一次搜索请求。
设置刷新间隔后,会显示在菜单栏时间过滤器的左边。
要设置刷新间隔:
Time Filter
Refresh Interval
标签。要想自动刷新数据,点击 Auto-refresh 按钮然后选择一个自动刷新间隔:
开启自动刷新后,Kibana 的顶部栏会出现一个暂停按钮和自动刷新的间隔:。点击 Pause 按钮可以暂停自动刷新。
你可以过滤搜索结果,只显示在某字段中包含了特定值的文档。也可以创建反向过滤器,排除掉包含特定字段值的文档。
你可以从字段列表或者文档表格里添加过滤器。当你添加好一个过滤器后,它会显示在搜索请求下方的过滤栏里。从过滤栏里你可以编辑或者关闭一个过滤器,转换过滤器(从正向改成反向,反之亦然),切换过滤器开关,或者完全移除掉它。
要从字段列表添加过滤器:
Positive Filter
按钮 Negative Filter
按钮 要从文档表格添加过滤器:
Expand
按钮 Positive Filter
按钮 Negative Filter
按钮 在 Kibana 的任意页面创建过滤器后,就会在搜索输入框的下方,出现一个绿色椭圆形的过滤条件:
鼠标移动到过滤条件上,会显示下面几个图标:
should
、must
、must_not
条件。一个用 should
表达的 OR 关系过滤如下:
{
"bool": {
"should": [
{
"term": {
"geoip.country_name.raw": "Canada"
}
},
{
"term": {
"geoip.country_name.raw": "China"
}
}
]
}
}
想要对当前页所有过滤器统一执行上面的某个操作,点击 Global Filter Actions 按钮,然后再执行操作即可。
当你提交一个搜索请求,最近的 500 个搜索结果会显示在文档表格里。你可以在 Advanced Settings 里通过 discover:sampleSize
属性配置表格里具体的文档数量。默认的,表格会显示当前选择的索引模式中定义的时间字段内容(转换成本地时区)以及 _source
文档。你可以从字段列表添加字段到文档表格。还可以用表格里包含的任意已建索引的字段来排序列出的文档。
要查看一个文档的字段数据,点击表格第一列(通常都是时间)文档内容左侧的 Expand
按钮 。Kibana 从 Elasticsearch 读取数据然后在表格中显示文档字段。这个表格每行是一个字段的名字、过滤器按钮和字段的值。
你可以用任意已建索引的字段排序文档表格中的数据。如果当前索引模式配置了时间字段,默认会使用该字段倒序排列文档。
要改变排序方式:
By default, the Documents table shows the localized version of the time field specified in the selected index pattern and the document _source
. You can add fields to the table from the Fields list.
默认的,文档表格会显示当前选择的索引模式中定义的时间字段内容(转换成本地时区)以及 _source
文档。你可以从字段列表添加字段到文档表格。
要添加字段列到文档表格:
add
按钮 添加的字段会替换掉文档表格里的 _source
列。同时还会显示在字段列表顶部的 Selected Fields
区域里。
要重排表格中的字段列,移动鼠标到你要移动的列顶部,点击移动过按钮。
要从文档表格删除字段列:
Selected Fields
区域里你想要移除的字段上,然后点击它的 remove
按钮 从字段列表,你可以看到文档表格里有多少数据包含了这个字段,排名前 5 的值是什么,以及包含各个值的文档的占比。
要查看字段数据统计:
要基于这个字段创建可视化,点击字段统计下方的 Visualize 按钮。