Показать хитовые документы в одной серии вместе в Lucene - PullRequest
2 голосов
/ 19 июля 2010

Некоторые статьи написаны в нескольких частях, например, я получил эти статьи от IBM Developer Works:

Распределенная обработка данных с помощью Hadoop, часть 1: Начало работы

Распределенная обработка данных с помощью Hadoop: Часть 2. Идем дальше

Распределенная обработка данных - с помощью Hadoop: Часть 3. Разработка приложений

Я приведу эти три статьи отдельно.И кто-то ищет определенные ключевые слова, возможно, часть 3 находится на вершине попадания, а часть 1 - на 32-м.Поэтому, если я буду перечислять результаты постранично, части 1 и 3 будут отображаться на разных страницах.

Как сделать так, чтобы документы с просечкой в ​​одной серии отображались вместе?

Я предполагаю, что в SQL мы можем использовать "group by".

1 Ответ

2 голосов
/ 19 июля 2010

Я полагаю, что вы запрашиваете Полевое свертывание , которое в настоящее время является функцией магистрали в Solr и будет включено в следующую версию Solr.

Если вы хотите бросить свой собственный, один из возможных способов сделать это:

  1. Добавьте поле «идентификатор серии» к каждому документу, являющемуся членом серии. Вы должны будете убедиться, что это увеличивается для каждой новой серии.
  2. Сделайте начальный запрос к Lucene и получите список совпадений.
  3. Для каждого попадания проверьте, есть ли у него идентификатор серии; Если это так, сделайте еще один запрос по идентификатору серии, чтобы извлечь всех членов серии.

Альтернативой является сохранение идентификаторов всех членов серии в поле внутри документа каждого участника.

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