如何通过内部对象搜索ElasticSearch

时间:2015-08-13 10:15:36

标签: elasticsearch

考虑ES

的以下索引
{
    "hits": {
        "total": 5,
        "max_score": 1,
        "hits": [
            {
                "_source": {
                    "name": "A",
                    "postalCode": {
                        "code": "postcodeA",
                        "validated": false
                    }
                }
            },
            {
                "_source": {
                    "name": "B",
                    "postalCode": {
                        "code": "postcodeB",
                        "validated": true
                    }
                }
            }
        ]
    }
}

如何搜索具有条件的匹配:

_source.postalCode.validated=true

我还是新手,并试图习惯ES。 我尝试过的一些查询如下:

q=_source.pastalCode.validated=true
q=_source.postalCode.validated
q=_source:postalCode:validated

1 个答案:

答案 0 :(得分:1)

您可以像这样执行DSL查询:

{
    "query": {
        "filtered": {
             "filter": {
                 "term": {
                     "postalCode.validated": "true"
                 }
             }
        }
    }
}

或者使用查询字符串,如上所述:

q=postalCode.validated: true

您无需包含_source部分。

相关问题