Elasticsearch适用于ids过滤器上的regex

时间:2017-06-16 12:34:25

标签: elasticsearch

我按ids过滤文件

实施例

   "filter": {
      "ids": {
        "values": ["1", "2", "3"]
    }
}

但我想在下面的ID上应用正则表达式,如下所示

  "filter": {
    "ids": {
        "values": ["1*", "2*", "3*"]
    }
}

1 个答案:

答案 0 :(得分:0)

小心正则表达式,如果你做错了,性能可以非常快。从您的示例中,您似乎可能需要prefix query代替?

那说,这应该有效:

  "filter": {
    "regexp": {
      "ids": "<regex_here>"
    }
  }

参考:https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-regexp-query.html

此外,您的ids字段似乎是一个经过分析的字段,这对我来说似乎很奇怪。