首页 > 解决方案 > 如何在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它应该获取属于开发和产品的所有数据时。

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

version_name = "string1_*_01"

在这里我怎样才能做到这一点?是否有可能使用正则表达式或任何其他方式来实现这一目标?

提前致谢。

标签: regexelasticsearchlucenegrafanaregexp-replace

解决方案


您需要使用精确的正则表达式来设计模板变量。以下模板变量可以使用 version_name 作为 "string1_"*"_01" 作为它的值。Lucene 查询:版本:“$version_name”。


推荐阅读