Как мне проиндексировать разные источники в Solr? - PullRequest
0 голосов
/ 12 мая 2011

Как индексировать текстовые файлы, веб-сайты и базу данных в одной и той же схеме Solr?Все 3 источника являются обязательными, и я пытаюсь понять, как это сделать.Я сделал несколько примеров, и они работают нормально, так как они отделены друг от друга, теперь мне нужно, чтобы они были одной схемой, поскольку пользователь будет искать во всех этих 3 источниках данных.

Как следуетЯ продолжаю?

1 Ответ

2 голосов
/ 12 мая 2011

Вы должны сделать несколько заметок для каждого источника контента:

  • Какие метаданные доступны
  • Как осуществляется доступ к информации
  • Какхочу ли я предоставить информацию

Как только это будет сделано, определите, какие метаданные вы хотите сделать доступными для поиска.Некоторые из них могут быть очень специфичны только для одного из источников контента (например, автора на веб-страницах или любого данного поля в строке БД), тогда как другие будут присутствовать во всех источниках (таких как уникальный идентификатор, заголовок, текстовое содержимое).).Используйте copy-fields для консолидации полей по мере необходимости.

Метаданные будут сильно отличаться от проекта к проекту, но да - такие вещи, как дата обновления, имя файла и любые структурированные данные, которые вы можетеРазбор текстовых файлов наверняка поможет вам повысить релевантность.Кроме того, это сильно варьируется от случая к случаю.Возможно, пути к файлам намекают на (возможно, неофициальную) таксономию, которую вы можете использовать в качестве метаданных.Возможно, имена файлов содержат сами метаданные (например, год, ключевое слово, названия продуктов и т. Д.).

Будьте готовы использовать разные поля для разных источников при отображении результатов.Поле source имеет большое значение для создания листов результатов - и это может оказаться вашим наиболее часто используемым аспектом.

Альтернативный (и, вероятно, предпочтительный) подход к широкому использованию полей копирования,использует обработчики запросов DisMax / EDisMax , чтобы упростить поиск в нескольких полях.

Рассмотрите возможность использования сочетания полей копирования и (e) dismax.Например, скопируйте все поля в универсальное текстовое поле, которое не нужно сохранять, и включите его в поиск, но с низким значением повышения и включите в себя поля с высокой степенью взвешивания (например, заголовок, заголовки или ключевые слова).или имя файла) в поиске.Есть много параметров для настройки в dismax, но это определенно стоит усилий.

...