Py学习  »  Elasticsearch

ElasticSearch:仅匹配没有的日期字段

chrlo • 5 年前 • 408 次点击  

我正试图返回日期字段为“无”的单位ID列表。

下面的示例只是一个片段。一个公司可以有几百个单位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"
            }
        }
    }

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

如果有任何帮助,日期格式为“日期选项时间”。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/30719
 
408 次点击  
文章 [ 1 ]  |  最新文章 5 年前
Shoham Ben Shitrit
Reply   •   1 楼
Shoham Ben Shitrit    5 年前

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