Мы работаем над предложением найти подходящий поиск по нашему требованию. Позвольте мне объяснить структуру данных. Это иерархическая структура данных. В основном детали продукта расположены в дереве, как показано ниже.Поисковые системы для дерева иерархии
иерархическая структура
Хлебобулочные
Бреадс
Печенье
Хлеб Палочки
Bun & Rolls
Кофе Магазины
Rolyalty
Bevarage
Pakaged еды
Существует потребность поиска придумывают для вышеуказанной структуры дерева. Мы как бы изучаем различные инструменты.
Мы попытались использовать модель вложенных множеств в базе данных mysql. Таким образом, указанное дерево строится как вложенная модель набора с левыми, правыми положениями. Поскольку одновременное количество запросов больше и с учетом масштабируемости, мы переместились больше с точки зрения встроенных/поисковых систем, которые быстрее обрабатывали бы запрос.
Итак, мы начали изучать Apache Solr, построенный на lucene. Мы понимаем, что solr более подходит для поиска плоской структуры, а не для поиска иерархического узла. Но мы попытались создать дерево как плоскую структуру, но мы оказались в нижеописанном усложнении.
плоская структура
L1 L2 L3
пекарных Бреадс Печенье
пекарных Бреадс гриссини ы
Хлебобулочные Бреадс Bun & Рулоны
Кофе Магазины Rolyalty Bevarage
Кофе Магазины Rolyalty Pakaged еды
выпуск в квартире структура Мы создали эту структуру в Solr и в то время как мы делаем поиск на всех уровнях с «Хлебное», мы в конечном итоге в получении ниже трех записей
Хлебопекарное хлебов Печенье
Хлебопекарное хлеба Хлеб палочки
Хлебопекарное хлеба Bun & Rolls
Наше требование Наше требование отправить только узел матча и его родителей. В то время как мы работаем с перекрестными ссылками, то только один узел будет одним, который нужно отправить, который является пекарным ...
В нашем случае будут огромные объемы записей, и мы чувствуем, что эта плоская структура может не быть быть правильным вариантом.
Не могли бы вы предложить какие-либо хорошие варианты подхода к вышеупомянутому поиску. в идеале ответ должен быть также деревом ... это похоже на сохранение дерева, и мы сможем искать на основе узла, а также забрать его родителей Neo4j ?. скорее мы обрабатываем результаты поиска. объемы данных будет составлять около 20 млн
Спасибо Tiramisu. Посмотрел на это.Поскольку у нас есть более сложные требования к поиску, мы хотели бы использовать возможности поиска, предоставляемые поисковой системой. – Raju