Lucene индексация больших объемов данных, хранящихся в БД Oracle

В статье будут рассмотрены особенности решения задачи полнотекстовой индексации больших объемов данных, хранящихся в БД, на примере связки Apache Lucene и СУБД Oracle.

Задача

Необходимо создать полнотекстовый индекс для сквозного поиска по данным, хранящимся в различных таблицах БД. В качестве поискового движка используется Apache Lucene, в качестве СУБД - Oracle. Совокупное количество записей в БД превышает несколько миллионов.

Заголовок Content-Disposition вместе с директивой attachment помогают заставить браузер скачивать файл по ссылке, вместо его отображения. Параметр filename позволяет задать для приложенного файла свое имя. В документе RFC 2183, который описывает использование этого заголовка, ссылающемся в свою очередь на RFC 2045, для значений параметров разрешено использовать только US-ASCII символы. Это означает, что мы не можем задать имя файла, как параметр, например, с использование символов кириллицы. Практика показывает, что современные браузеры умеют корректно обрабатывать этот параметр и с символами, находящимися за пределами US-ASCII таблицы.

Рассмотрим подход к написанию модульных и интеграционных тестов для веб-приложения, написанного на языке Java с применением Spring Framework 3.1.x.
Автоматические тесты будем писать с использованием библиотек: JUnit, Mockito.