Elasticsearch匹配除指定字段以外的所有查询,排除

时间:2015-07-29 18:33:45

标签: elasticsearch

我的索引Elasticsearch文档包含许多字段。我一直在使用match_all查询来获得结果。我想从match_all中排除一些字段,这可能吗?

3 个答案:

答案 0 :(得分:2)

对于这个问题,我将举例说明

GET index_name/index_type/_search
{
  "_source": {

  "exclude": [
    ]
  },
  "query": {
    "match_all": {}
  }
}

答案 1 :(得分:0)

在Elasticsearch中,您可以使用partial字段来过滤字段。

示例:

{
    "query": {
        "match_all": {}
    },
    "partial_fields": {
        "partial1": {
            "exclude": ["excludeField1", "excludeField2"]
        }
    }
}

答案 2 :(得分:0)

使用ElasticSearch 2.x,您可以使用source filtering,例如:

{
    "_source": {
        "include": [ "obj1.*", "obj2.*" ],
        "exclude": [ "*.description" ]
    },
    "query" : {
        "term" : { "user" : "kimchy" }
    }
}

对于GET请求,您也可以将其传递给via the url