ElasticSearch不得作为项数组的过滤器

时间:2018-08-31 04:56:21

标签: elasticsearch

我正在构建一个Elasticsearch查询,该查询通过地理位置限制查询商品。

我想过滤列表,使其仅包含与idaccountOwner的项目属性不匹配的项目。

所以我可能会从elasticsearch那里获得物品清单

[{
        "account": 1,
        "id": 1,
        "name": "first"
    },
    {
        "account": 1,
        "id": 2,
        "name": "second"
    },
    {
        "account": 2,
        "id": 2,
        "name": "second"
    }
]

我想在查询中传递一个过滤器,该过滤器说不包含与[{account:1,id:2}]相匹配的项目(是的,它必须是一个数组)

我希望从ElasticSearch中获得的是上面的列表,但是上面的数组中没有一个项目。

我一直试图在文档中对它进行解密,但是并没有完全找到我想要的东西。

我的查询(可能与问题无关)

{
    "query": {
        "bool": {
            "must": [{
                "geo_distance": {
                    "distance": "100km",
                    "start": {
                        "lat": -37.8642399,
                        "lon": 144.9732028
                    }
                }
            }],
            "must_not": [{
                "id": 2,
                "account": 1
            }]
        }
    }
}

请注意,我只想删除两个帐户和ID都不匹配的项目

0 个答案:

没有答案