Зависит от того, какие возможности поиска вы ищете.Например, если вы хотите, чтобы пользователи могли искать ключевые слова, которые встречались в темах на определенную дату, вы должны проиндексировать все записи как отдельные документы с датой (как NumericField , доступный для поиска с использованием NumericRangeFilter ).
Индексирование каждой записи как отдельного документа также позволит вам оценивать каждую запись, используя счетчики Lucene, которые помогут в получении наиболее релевантных записей (а не потоков) в качестве ответа на запрос.Кроме того, вы также можете добавить тему темы в качестве отдельного поля к каждому входному документу (затратив немного больше места).
Объединение всех записей не является хорошей идеей, если вы хотите указать пользователю точную запись интереса.Что касается вашего беспокойства (прокомментируйте ответ Райана) о возврате нескольких записей из одного потока, вы можете добавить идентификатор потока к каждой записи во время индексации.Затем во время отображения результатов вы можете отобразить только запись для каждого идентификатора потока (запись с наибольшим количеством баллов может отображаться вместе с темой темы)