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

问题描述

我正在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"

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

谢谢。

解决方法

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...