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