Elasticsearch:仅匹配无

时间:2019-02-11 14:23:23

标签: python elasticsearch

我正在尝试返回日期为“无”的单位ID列表。

下面的示例仅是一个片段。一个公司可以有几百个单位编号,但是我只想返回一个活动单位列表(“ validUntil”为“无”)。

'_source': {'company': {'companyId': 1,
                       {'unit': [{'unitId': 1,
                                  'period': {'validUntil': '2016-02-07' }},
                                 {'unitId': 2,
                                  'period': {'validUntil': None }}]

payload = {
    "size": 200,
    "_source": "company.companyId.unitId,
    "query":{
         "term":{
            "company.companyId": "1"
            }
        }
    }

我尝试了几种不同的方法(过滤器,must_not不存在等),但是搜索返回的所有与该公司ID有关的单位ID或什么都没有,这使我怀疑我没有正确过滤。

如果有帮助,则日期格式为“ dateOptionalTime”。

1 个答案:

答案 0 :(得分:0)

看起来您的问题可能不在于查询本身。
据我所知,如果类型不是嵌套的,则不能仅返回数组的一部分,
我建议看这个问题: select matching objects from array in elasticsearch