Я изучаю инструмент базы данных, и я не совсем уверен, как Elastic может справиться с моими требованиями.Elastic search deep tree model
У меня есть структура данных дерева, генеалогическое древо.
Корень - это первый человек Адам, а потом его дети, дети и так далее.
Элементы выглядит следующим образом (не заботятся о брачных отношениях эти данные только, чтобы получить идею):
{
id: 1
name: “Adam”
parentId: 0
}, {
id: 2
name: “Cain”
parentId: 1
}, {
id: 3
name: “Abel”
parentId: 1
}, {
id: 4
name: “johnny(Cain junior)”
parentId: 2
}, … {
id: 12324568
name: “Cain b”
parentId: 1434
}
запросов Я хотел бы EXEC:
«полный текст 'поиск по имени элемента, ответ должен включать документы и путь к ним. Например, поиск «Каина» должен воспроизводиться:
a. Adam/Cain
b. ../David/Danny/Cain б
CRUD человека по идентификатору (Идентификаторы являются уникальными)
Получить родословную по идентификатору, ответит иерархическое дерево (вложенное JSON), от «ид» как корень
Дерево около ~ 20-30 уровня вложенности, до 10000 элементов
Наконец, мой вопрос:
Может ли elasticsearch предоставить мне эту функциональность?
Должен ли я использовать родительскую/дочернюю схему?
Как должно выглядеть картографирование индекса.
Благодаря @Darth_Vader, он помогает после прочтения вашего ответа я должен следить за вопросом: как я могу использовать родитель/ребенок здесь, Если я правильно понял, это не позволяет создавать н уровне дерева одного и те же типа "my_index"? Может (темная сторона) Сила с вами :) – Ilan