如何在elasticsearch中编写正则表达式查询,匹配除斜杠之外的任何字符?

时间:2017-05-24 08:35:59

标签: regex elasticsearch

我的查询有问题:

"query": {
            "regexp": {
              "rest.request.uri": {
                "value": "/account/.*./price/.*./pdf"
              }
            }
          }

它只应匹配此案例:/ account / {account_id} / price / {price_id} / pdf

这意味着*应该只替换id,但它取代了例如

之间的所有内容

/帐户/ {ACCOUNT_ID} / sometext /价格/ {price_id} / sometext / PDF

有人知道怎么解决吗?提前谢谢。

1 个答案:

答案 0 :(得分:1)

模式:

account/[^/]+/price/[^/]+/pdf

此模式使用“否定字符类”,允许正则表达式引擎非常有效地运行。

Wiktor说ES不需要转义斜杠。给我的消息。