Kibana 中的 Lucene 查询语法
Lucene query syntax in Kibana
我正在努力在 Kibana 中使用 Lucene 语法搜索一个简单的短语。
我们有类似以下几行的日志:
API :: GetStatus :: MP181210.1524.O47211 :: 未找到。
API :: GetStatus :: MP181210.1144.V12345 :: 发现 - 这里有一些随机的东西。
我想找到所有包含 "Found - " 的行,所以我想(因为连字符是保留符号)我应该搜索:
"API :: GetStatus ::" 和 "Found \-"
但是,出于某种原因,它只是忽略了尾随的连字符,这些是我得到的结果
谁能指出我正确的方向?
问题不在于您的查询语法(顺便说一句,连字符在短语中引用时不是保留字符,因此不需要转义)。 Lucene 分析它输入到令牌中,或者用 Lucene 的说法是术语,它对其进行索引并使其可搜索。默认分析器(实际上是大多数分析器)会尝试将其标记为单词。连字符将被视为标点符号,因此不会被索引且不可搜索。为了搜索它,您需要更改分析器并重建索引。
我正在努力在 Kibana 中使用 Lucene 语法搜索一个简单的短语。
我们有类似以下几行的日志:
API :: GetStatus :: MP181210.1524.O47211 :: 未找到。
API :: GetStatus :: MP181210.1144.V12345 :: 发现 - 这里有一些随机的东西。
我想找到所有包含 "Found - " 的行,所以我想(因为连字符是保留符号)我应该搜索:
"API :: GetStatus ::" 和 "Found \-"
但是,出于某种原因,它只是忽略了尾随的连字符,这些是我得到的结果
谁能指出我正确的方向?
问题不在于您的查询语法(顺便说一句,连字符在短语中引用时不是保留字符,因此不需要转义)。 Lucene 分析它输入到令牌中,或者用 Lucene 的说法是术语,它对其进行索引并使其可搜索。默认分析器(实际上是大多数分析器)会尝试将其标记为单词。连字符将被视为标点符号,因此不会被索引且不可搜索。为了搜索它,您需要更改分析器并重建索引。