Lucene индексация больших объемов данных, хранящихся в БД Oracle
В статье будут рассмотрены особенности решения задачи полнотекстовой индексации больших объемов данных, хранящихся в БД, на примере связки Apache Lucene и СУБД Oracle.
Задача
Необходимо создать полнотекстовый индекс для сквозного поиска по данным, хранящимся в различных таблицах БД. В качестве поискового движка используется Apache Lucene, в качестве СУБД - Oracle. Совокупное количество записей в БД превышает несколько миллионов.
Заголовок Content-Disposition вместе с директивой attachment помогают заставить браузер скачивать файл по ссылке, вместо его отображения. Параметр filename позволяет задать для приложенного файла свое имя. В документе RFC 2183, который описывает использование этого заголовка, ссылающемся в свою очередь на RFC 2045, для значений параметров разрешено использовать только US-ASCII символы. Это означает, что мы не можем задать имя файла, как параметр, например, с использование символов кириллицы. Практика показывает, что современные браузеры умеют корректно обрабатывать этот параметр и с символами, находящимися за пределами US-ASCII таблицы.
Автоматические тесты будем писать с использованием библиотек: JUnit, Mockito.