ElasticSearch must_not to в качестве фильтра для массива элементов - PullRequest
0 голосов
/ 31 августа 2018

Я строю запрос эластичного поиска, который получает запрос элементов по географическим границам.

Я хочу отфильтровать список, чтобы он содержал только те элементы, которые не соответствуют атрибутам элементов id и accountOwner.

Так что мне может быть возвращен список предметов изasticsearch

[{
        "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
            }]
        }
    }
}

Итак, чтобы было ясно, я хочу удалить только те элементы, которые не совпадают как для учетной записи, так и для идентификатора

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...