Как индексировать и искать иерархические узлы с помощью solr + drupal + cck - PullRequest
0 голосов
/ 20 июня 2011

Мой сайт Drupal 6 использует 3 пользовательских типа узлов, которые иерархически организованы: страница, книга, библиотека.Я хочу использовать Solr для индексации и поиска контента.Я хочу, чтобы поиск возвращал только узлы Книги в результатах.Но я хочу, чтобы при поиске использовалось содержимое дочерних элементов (страниц) и родителей (библиотек).Можно ли настроить Solr для индексации и поиска таким образом?

Спасибо!

1 Ответ

0 голосов
/ 20 июня 2011

У вас будет несколько проблем с этим:

  1. Solr не является иерархическим по своей природе, он денормализован , поэтому индексация иерархии затруднена.
  2. Вам нужно будет выяснить, как увеличить различные термины / поля в зависимости от того, где в иерархии они находятся (библиотека, так сказать, важнее, чем книга).
  3. Drupal имеетконкретная конфигурация, связанная с узлами и изменением которой, по умолчанию, не будет самой легкой.
  4. Реализация Solr тесно связана с базой данных, поэтому изменение конфигурации, вероятно, потребует больших усилий с вашей стороны..

Я бы порекомендовал вам не пытаться реализовать это, но если бы вы это сделали, вы могли бы взглянуть на модуль Apache Solr Attachments .Вам нужно было бы сделать что-то похожее ... в основном:

  1. hook_modify_query, чтобы изменить фактическую индексацию узла
  2. пользовательскую тему, чтобы результаты поиска отображали эту иерархию

Или вы можете создать одно гигантское поле с кучей текста для поиска и использовать его как часть поиска.

...