@My1Name

Как хранить данные при работе с Apache Lucene?

Допустим есть сайт, где у каждого пользователя есть своя страница и раздел "О себе". Необходимо организовать полнотекстовый поиск пользователей по этому разделу...

Вопрос: Нужно ли создавать отдельные файлы "О себе", если мы добавляем эту информацию в индекс Lucene? Или достаточно добавить в индекс и никакие вспомогательные файлы (для хранения текстовой информации) не нужны?
  • Вопрос задан
  • 143 просмотра
Пригласить эксперта
Ответы на вопрос 2
mayton2019
@mayton2019 Куратор тега Java
Bigdata Engineer
Apache Lucene вообще не знает что такое файлы. Он оперирует понятием документ
(org.apache.lucene.document.Document) и поля документа (Field, StringField e.t.c).
Поля могут быть Stored (просто храниться) или Indexed (участовать в генерации текстового
индекса).

Поэтому посмотри учебные примереы с Lucene и попробуй перезадать вопрос по другому.
Ответ написан
Допустим есть сайт

Что из себя представляет страница на сайте? Документ HTML. У документа есть путь - как часть адреса URL.

Есть заголовок (header)
<title>Example Domain</title>

Есть тело документа (body)
<div>
    <h1>Example Domain</h1>
    <p>This domain is for use in illustrative examples in documents. You may use this
    domain in literature without prior coordination or asking for permission.</p>
    <p><a href="https://www.iana.org/domains/example">More information...</a></p>
</div>


Если я верно понял вопрос, то необходимо уметь искать по заголовку и телу страницы. Поскольку AL производит поиск по чистому тексту, а не HTML, то в понятиях AL нужно индексировать документ, состоящий из:
  1. идентификатор страницы
  2. заголовок
  3. тело
  4. дата создания
  5. автор
  6. метки


Необходимо обеспечить синхронизацию страниц в AL: при создании или изменении любой страницы сайта проиндексировать её в AL в качестве документа с заданными полями.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Bell Integrator Хабаровск
До 400 000 ₽
Bell Integrator Ульяновск
До 400 000 ₽
Bell Integrator Ижевск
До 400 000 ₽