Kibana 语法简介

299 阅读2分钟

response:200 将匹配响应字段匹配值200的文档。

使用引号将启动词组搜索。例如,message:"Quick brown fox" 将在消息字段中搜索短语“ quick brown fox”。没有引号,您的查询将通过消息字段的已配置分析器分解为令牌,并且将匹配包含这些令牌的文档,而不考虑其出现的顺序。

response:200 and extension:php 将匹配响应匹配200和扩展名匹配php的文档。

默认情况下,and的优先级高于or。

response:200 and extension:php or extension:css 将匹配响应为200且扩展名为php的文档,或扩展名为css且响应为任何内容的文档。

response:200 and (extension:php or extension:css) 将匹配响应为200且扩展名为php或css的文档。

在单个字段中搜索多个值。

response:(200 or 404) 搜索该response字段与200或404匹配的文档。我们还可以搜索包含包含术语列表的多值字段的文档,例如:tags:(success and info and security)

可以在字段前面加上反转字词not。

not response:200 将匹配响应不为200的所有文档。

整个组也可以颠倒。

response:200 and not (extension:php or extension:css)

与lucene相似 bytes:>1000,但在KQL中省略了冒号:bytes > 1000

>, >=, <, <= 都是有效的范围运算符。

通配符查询:

machine.os:win* 会匹配其中machine.os字段以“ win”开头的文档,该文档将匹配“ windows 7”和“ windows 10”之类的值。

通配符还允许我们一次搜索多个字段。同时 具有字段text和keyword版本时,这可能会派上用场。假设我们有machine.osand和 machine.os.keyword字段,我们想同时检查术语“ windows 10”。我们可以这样做:“ machine.os *:windows 10”

如果未设置默认字段,则这些术语将与所有字段匹配。例如,一个查询response:200将在响应字段中搜索值200,但是一个查询200将在索引中的所有字段中搜索200。