kibana elasticsearch中的regex搜索

9vw9lbht  于 2021-06-10  发布在  ElasticSearch
关注(0)|答案(2)|浏览(815)

我尝试在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}
3pvhb19x

3pvhb19x1#

默认情况下,kibana搜索栏需要kql(kibana查询语言)表达式。那个表达式语言还不支持正则表达式。
您需要通过单击 KQL 位于搜索栏末尾的弹出窗口。

然后可以使用正则表达式,例如@unigeek提供的正则表达式:

message: /[0-9]{3}\.[0-9]{2}/
bvn4nwqk

bvn4nwqk2#

您可以简单地将正则表达式 Package 为如下所示的正斜杠:

message: /[0-9]{3}\.[0-9]{2}/

但我想你已经知道了。也许只是不清楚您需要什么regex——这是regex的一个非常常见的情况。
编辑1:请注意,elasticsearch使用的是lucene,而不是perl兼容的正则表达式(pcre)库,因此我认为使用“d”不可能匹配单个数字。
编辑2:有用的链接。

相关问题