如何在Lucene查询elasticsearch中使用正则表达式?

时间:2020-08-12 15:15:53

标签: regex elasticsearch lucene grafana regexp-replace

我正在grafana工作,并使用elasticsearch作为数据源。我在grafana中有一个下拉过滤器,用于过滤值。下拉值类似"string1_dev_01","string1_prod_01","string2_dev_02","string2_prod_02"。在这里,我使用模板变量将所选值传递给lucene查询,

template variable name = version_name

column name in elastic search = version

Lucene查询:version:$version_name

当我选择string1_dev_01时,它将获取属于string1_dev_01的数据。

但我想,选择任一当string1_dev_01string1_prod_01,应该取所有数据属于dev和PROD两者。

注意:在过滤器中,我想显示诸如string1_*_01string2_*_02之类的数据,并且值应分配给模板变量之类,如

version_name = "string1_*_01"

我该如何实现?是否有可能使用正则表达式或其他任何方式来实现这一目标?

谢谢。

1 个答案:

答案 0 :(得分:0)

您需要使用精确的正则表达式设计模板变量。 以下模板变量的值可以与version_name一起使用,例如“ string1 _” *“ _ 01”。 Lucene查询:版本:“ $ version_name”。