ELK查询指定名称列表以返回名称与列表中的名称匹配的所有记录

时间:2017-08-31 14:58:53

标签: elasticsearch elastic-stack

当我构建ELK查询并指定如下标准时:

class Foo < Formula
  desc "Blah blah"
  url "https://github.com/foo/foo/archive/master.zip"
  version "1.2.3"

  def install
    man1.install "myapp.1"
    libexec.install Dir["*"]
    bin.write_exec_script (libexec/"myapp.py")
  end
end

它返回product.name与变量productName中的值匹配的记录,但如果我想指定productNames []列表,并且需要返回包含该列表中产品名称的所有记录,如何修改查询以上?

1 个答案:

答案 0 :(得分:0)

您可以使用product.name:(productA OR productB OR productC)。查看query string syntax文档。

如果您不需要使用query_string查询,也可以bool query使用terms query,如下所示:

{
  "query": {
    "bool": {
      "must": [
        {
          "terms": {
            "product.name": ["productA", "productB", "productC", ...]
          }
        },
        {
          "match": {
            "cost": "xxxx"
        },
        {
          "match": {
            "otherField": "yyyy"
        },
        ...
      }
    }
  }
}
相关问题