Lucene: несколько документов для одного ресурса

Моя модель здесь состоит из онлайн-курсов. Каждый курс имеет идентификационный номер, название и может иметь различное количество файлов контента (больших html-файлов). Я попытался представить их в Lucene по следующей схеме (каждая строка — это документ):

  • курс: "1", название: "Введение в Java"
  • курс: "1", содержание: "Глава 1: основы..."
  • курс: "1", содержание: "Глава 2: коллекции..."
  • курс: "2", название: "Сеть Java"
  • курс: "2", содержание: "Часть первая: розетки..."
  • курс: "3", название: ...

Но теперь предположим, что мне нужно попросить Lucene предоставить мне все курсы (только идентификатор) с «Java» в названии и «коллекции» в некоторых его элементах. Такой запрос, как title:java AND content:collections, не будет работать, поскольку информация разбита на несколько документов.

Может ли кто-нибудь предложить мне альтернативное представление или метод запроса для решения этой проблемы? Обратите внимание, что я не могу просто объединить все содержимое в один файл и проиндексировать его в том же документе вместе с заголовком, потому что некоторые главы добавляются уже после создания курса.

Заранее спасибо.


person grieih    schedule 15.03.2014    source источник


Ответы (1)


Я еще не пробовал, но проверьте соединения во время индексирования или во время запроса: http://lucene.apache.org/core/4_0_0/join/org/apache/lucene/search/join/package-summary.html

Вот презентация по этому поводу: http://www.lucenerevolution.org/sites/default/files/grouping-and-joining_0.pdf.

person Jeff French    schedule 17.03.2014