Как получить всех внуков в elasticsearch 7.10 от дедушки и бабушки

#elasticsearch #elasticsearch-7

#elasticsearch #elasticsearch-7

Вопрос:

У меня есть отношения в моем elasticsearch, в которых A является родителем, а B — дочерним элементом A, а C — дочерним элементом B.

A-> B-> C.

На момент вставки отношение было тем же, что и у B, которое является родительским, а при вставке внука B было родительским.

Теперь, когда я хотел получить всех внуков, используя следующий запрос, он возвращает None.

 {
    "query": {
        "has_parent": {
            "parent_type": "A",
            "query": {
                "has_parent": {
                    "parent_type": "B",
                    "query": {
                        "match_all": {}
                    }
                }
            }
        }
    }
}
 

В чем проблема? Это то, чего мне не хватает при хранении, любая помощь приветствуется.

Ответ №1:

Я добился этого, используя следующий запрос.

 {
    "query": {
        "has_parent": {
            "parent_type": "B",
            "query": {
                "has_parent": {
                    "parent_type": "A",
                    "query": {
                        "match_all": {}
                    }
                }
            }
        }
    }
}
 

По сути, родительский элемент должен быть вложенным, а не дочерним.