使用 kibana 搜索之前
在 kibana 搜索的时候,可以简单的使用 Lucene通用的语法,来构造搜索各种请求。
Lucene提供了方便您创建自建查询的API,也通过QueryParser提供了强大的查询语言。
在开始使用 kibana 搜索之前,我们先来认识几个名词:
项(Term)
一条搜索语句被拆分为一些项(term)和操作符(operator)。
项有两种类型:
- 单独项
- 短语。
单独项就是一个单独的单词,例如 "hello"、"codercto"。
短语是一组被双引号包围的单词,例如 "hello codercto"。
多个项可以用布尔操作符连接起来形成复杂的查询语句(AND OR )。
域(Field)
Lucene支持域。
您可以指定在某一个域中搜索,或者就使用默认域。
域及默认域是具体索引器实现决定的。
kibana 的默认域就是 message
message 会包含你所有的日志
搜索语法是:
域:项
举个例子,假设某一个 Lucene 索引包含两个域,title 和 text,text是默认域。
如果您想查找标题为 "The Right Way" 且含有 "don’t go this way" 的文章,您可以输入:
title:"The Right Way" AND text:go
或者
title:"The Right Way" AND go
因为 text 是默认域,所以这个域可以不指定。
注意:域名只对紧接于其后的项生效
title:Do it right
只有 "Do" 属于 title 域。"it" 和 "right" 仍将在默认域中搜索(这里是 text 域)。
这里我们可以使用双引号来避免出现项所属问题
title:"Do it right"