我尝试在ElasticSearch数据集的消息中使用regex进行搜索。由于某些原因,我无法通过搜索栏中的任何引擎不喊我的东西。
我正在尝试选择一个由.xx位组成的三元组。.xx,.xx,.xx,无论我尝试什么,引擎总是在我身上出错。
这是我的问题
message: /<000-999>/
这给了我以下的错误。
KQLSyntaxError: Expected AND, OR, end of input, whitespace but "<" found. message: "DWP_Magnet, Value: " AND message: /<000-999>/
我已经阅读了文档,并且我的数据肯定包含我试图指定的值,即
Value: 311.23, 144.00, 155.01
有人能给我一些见解吗?有没有一种方法可以使用lucene regex来创建以下表达式?
/d{3}\.\d{2}
2条答案
按热度按时间3pvhb19x1#
默认情况下,kibana搜索栏需要kql(kibana查询语言)表达式。那个表达式语言还不支持正则表达式。
您需要通过单击
KQL
位于搜索栏末尾的弹出窗口。然后可以使用正则表达式,例如@unigeek提供的正则表达式:
bvn4nwqk2#
您可以简单地将正则表达式 Package 为如下所示的正斜杠:
但我想你已经知道了。也许只是不清楚您需要什么regex——这是regex的一个非常常见的情况。
编辑1:请注意,elasticsearch使用的是lucene,而不是perl兼容的正则表达式(pcre)库,因此我认为使用“d”不可能匹配单个数字。
编辑2:有用的链接。