#solr #dataimporthandler
#solr #dataimporthandler
Вопрос:
Я пытаюсь денормализовать древовидную структуру в solr.
Я имею в виду, что в моей реляционной базе данных у меня есть это:
------------
| |
-------------- --------v-------- |
| | | | |
| Employee -----------> | Department ---
| | | |
-------------- -----------------
Любой отдел может иметь любой отдел.
Есть ли какие-либо советы или рекомендации для денормализации такого рода отношений в solr?
Я немного подробнее.
В настоящее время я создал индекс, в котором хранятся все денормализованные сотрудники.
Что-то вроде:
employee_id, employee_name, department_id, depatment_name
Тем не менее, мне нужно выполнить поиск, например:
Department (210)
Deparment1 (100)
Department-1.2 (50)
Department-1.3 (50)
Department2 (110)
Department-2.2 (40)
Department-2.3 (70)
Проблема, при использовании моего подхода, у сотрудников есть только текущий отдел, связанный с деревом отделов, недоступен…
Есть идеи о том, как это получить?
Надеюсь, я так хорошо объяснил…
Комментарии:
1. Пользовательское поле можно определить с помощью токенизатора иерархии путей: lucene. apache.org/solr/guide/6_6 /… — убедитесь, что ваш SQL включает весь путь, и Solr обработает его, чтобы вы могли генерировать фасеты на другой стороне от каждого токена (а в вашем интерфейсе вы отображаете только последнюю часть пути)
2. Если вы никогда не использовали поля ancestor_path и descendent_path в Solr, этот блог может помочь: library.brown.edu/DigitalTechnologies /…
3. Есть ли какие-либо проблемы с использованием корневой косой черты? В вашем примере вы используете
db/rel/mysql
without root/
. Как насчет использования/db/rel/mysql
?