【问题标题】:How to use regex in lucene query elasticsearch?如何在lucene查询elasticsearch中使用正则表达式?
【发布时间】:2020-12-02 09:11:11
【问题描述】:

我在 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_01或@ 987654327时,它应该获取所有数据都属于dev和prod。

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

version_name = "string1_*_01"

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

提前致谢。

【问题讨论】:

    标签: regex elasticsearch lucene grafana regexp-replace


    【解决方案1】:

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

    【讨论】:

    • 是的,我正在寻找正则表达式来替换现有值。知道如何在 Lucene 查询或 grafana 中的模板变量中执行此操作吗?
    • 我在答案中添加了正则表达式。查询应该是版本:“$version_name”。 JSON中的模板变量应该是:"text": "string1_*_01", "value": "string1_\"*\"_01"
    猜你喜欢
    • 1970-01-01
    • 2014-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-27
    • 2011-07-01
    相关资源
    最近更新 更多