Как сохранить постоянную структуру данных в эластичном поиске - PullRequest
2 голосов
/ 26 октября 2019

У меня есть реляционная БД, и она сохранила постоянную древовидную структуру сегмента, что означает, что все родительские и дочерние элементы всегда имеют значение manyToMany, высота этого дерева составляет от 4 до 5 уровней

Ссылка на постоянное дерево сегментов: https://www.geeksforgeeks.org/persistent-segment-tree-set-1-introduction/

Поскольку это дерево сегментов, данные узла не сильно изменятся, при его изменении должен быть создан другой узел

У меня вопрос, каким образом я должен сохранить свои данные в эластичномsearch.

Моя текущая мысль:

  1. nested создаст слишком много документов, любые изменения в листовом узле создадут новый корень, а в новом корне будет много лишнихданные, потому что многие не версионные узлы не изменены, и трудно отследить версионность узлов.
  2. режим «родитель-потомок» выглядит хорошо, однако каждый узел может иметь несколько родителей и потомков, это много-Множество отношений почти везде из моей БД, денормализовать это кажется невозможным, решение, которое я мог бы придумать, - это поддерживать детей и чиститьnts идентификаторы с каждого уровня, но их сложно поддерживать, плюс объединение может замедлить работу

Пожалуйста, расскажите мне о своих идеях.

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