Kibana中的Lucene查询语法

Kibana中的Lucene查询语法,lucene,kibana,Lucene,Kibana,我正在努力用Kibana中的Lucene语法搜索一个简单的短语 我们的日志如下所示: API::GetStatus::MP181210.1524.O47211::未找到。 API::GetStatus::MP181210.1144.V12345::Found-这里有一些随机的东西 我想查找其中包含“find-”的所有行,因此我认为(因为连字符是保留符号),我应该搜索: “API::GetStatus::”和“Found\” 然而,出于某种原因,它忽略了尾随的连字符,这就是我得到的结果 有人能给

我正在努力用Kibana中的Lucene语法搜索一个简单的短语

我们的日志如下所示:

API::GetStatus::MP181210.1524.O47211::未找到。
API::GetStatus::MP181210.1144.V12345::Found-这里有一些随机的东西

我想查找其中包含“find-”的所有行,因此我认为(因为连字符是保留符号),我应该搜索:

“API::GetStatus::”和“Found\”

然而,出于某种原因,它忽略了尾随的连字符,这就是我得到的结果


有人能给我指出正确的方向吗?

问题其实不是你的查询语法(顺便说一句,连字符在短语中引用时不是保留字符,因此不需要转义)。Lucene将其输入分析为标记,或Lucene术语中的术语,对其进行索引并使其可搜索。默认分析器(实际上是大多数分析器)尝试将其标记为单词。连字符将被视为标点符号,因此不编制索引,也不可搜索。为了搜索它,您需要更改分析器和重新索引。

问题实际上不是您的查询语法(顺便说一句,在短语中引用连字符时,连字符不是保留字符,因此不需要转义)。Lucene将其输入分析为标记,或Lucene术语中的术语,对其进行索引并使其可搜索。默认分析器(实际上是大多数分析器)尝试将其标记为单词。连字符将被视为标点符号,因此不编制索引,也不可搜索。为了搜索它,您需要更改分析器和重新索引。

Double blackslash?@K.Nicholas我做了最后的努力(尽管根据Lucene查询语法文档,这意味着转义了blackslash!),但没有可用的Double blackslash?@K.Nicholas我做了最后的努力(尽管根据Lucene查询语法文档,这可能意味着一个转义的黑斜杠!)但是,当我在Kibana的上下文中思考它时,没有100%的意义:)当我在Kibana的上下文中思考它时,100%的意义:)