如何在此弹性搜索查询中添加另一个条件来过滤?

时间:2015-11-04 20:54:20

标签: elasticsearch elasticsearch-plugin

我有一个弹性搜索查询,可以过滤business_process字段。我想添加另一个匹配子句,因此两个字段都有指定的数据,我想在business_process字段上添加突出显示。我怎么会弹性?先感谢您。

{
  "query": {
    "filtered": {
      "query": {
        "match": {
          "business_process": "loading"
        }
      },
      "filter": {
        "missing": {
          "field": "client_cru_all"
        }
      }
    }
  }
}

1 个答案:

答案 0 :(得分:1)

ES文档是你的朋友。 bool query可能就是你要找的东西。这样的事情应该做你想做的事。

POST /test_index/_search
{
   "query": {
      "filtered": {
         "query": {
            "bool": {
               "must": [
                  {
                     "match": {
                        "business_process": "loading"
                     }
                  },
                  {
                     "match": {
                        "another_field": "some text"
                     }
                  }
               ]
            }
         },
         "filter": {
            "missing": {
               "field": "client_cru_all"
            }
         }
      }
   }
}

就突出显示而言,我开始here。如果您无法使其发挥作用,请发布您在问题中尝试的内容。