Как для запроса документов использовать два объекта в массиве, тип которого является вложенным? - PullRequest
0 голосов
/ 28 апреля 2018

У меня есть документы, подобные этой:

{
    "name": "Secret",
    "tags": [
        {
            { "key": "Project" },
            { "value": "X"}
        },
        {
            { "key": "Manager" },
            { "value": "David"}
        }
    ]
}

tags тип - вложенный тип.

Я использую запрос bool для поиска документов, имеющих два специальных тега:

{
"query": {
    "nested": {
        "path": "tags",
        "query": {
            "bool": {
                "must": [
                    { "match" : { "tags.key": "Project"}},
                    { "match" : { "tags.value": "X"}}
                ],
                "must": [
                    { "match" : { "tags.key": "Manager"}},
                    { "match" : { "tags.value": "David"}}
                ]
            }
        }
    }
}

Но это не работает:

{
    "took" : 4,
      "timed_out" : false,
      "_shards" : {
      "total" : 10,
      "successful" : 10,
      "skipped" : 0,
      "failed" : 0
    },
    "hits" : {
      "total" : 0,
      "max_score" : null,
      "hits" : [ ]
    }
}

Что-то не так?

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