ВВЕДЕНИЕ 3
ПОСТАНОВКА ЗАДАЧИ 4
Глава 1 Система хранилища данных 6
1.1 Архитектура системы 6
1.2 Структура приложения 7
1.3 Apache Maven 9
1.4 Apache CouchDB 10
1.5 Компоненты OpenStack 10
1.6 Elasticsearch 11
Глава 2 Поисковые машины 12
2.1 Общее описание поисковых машин 12
2.2 ElasticSearch 13
2.3 Сравнительная характеристика различных комплексов 18
Глава 3 Реализация системы поиска 21
3.1 Элементы MVC 21
3.2 Реализация классов 22
3.3 Конфигурации 23
3.4 Тестирование 27
Выводы 28
Заключение 29
Список использованной литературы 30
Приложение 31
В настоящее время количество доступной информации постоянно увеличивается. С огромной скоростью растут различного рода информационные сети, и, соответственно, растет и количество данных, доступных пользователю. Постоянно появляются все новые статьи, книги и различные медиафайлы. Конечно же, со временем растет и качество этих данных, что влияет на их итоговый объем. Так, например, с ростом качества изображений, увеличивается и их объем.
В процессе обучения так же используется огромное количество всевозможных материалов. Естественным образом возникает вопрос о их долгосрочном хранении. Также актуальной задачей является вопрос качественного поиска среди доступных файлов. Так, на данный момент, на кафедре файлы хранятся не систематизировано, находятся на различных физических носителях, могут иметь совершенно разные форматы. С течением времени количество этих файлов неуклонно растет, растет и проблема поиска необходимой информации.
Для разрешения этой проблемы необходимо рассмотреть различные технологии предназначенные для хранения информации. Перед нами встанет несколько задач, среди которых будет вопрос и о быстром и качественном поиске по реализованному хранилищу.
Основная задача выпускной квалификационной работы — модернизация существующего прототипа системы хранения хранения текстовых файлов.
Во время работы с данной системой был изучен стек используемых технологий. Был проведен анализ различных готовых решений, приспособленных для работы с данным.
Ввиду высокой популярности данных технологий, можно утверждать, что выбранные решения являются долговечными, так как они имеют понятную и доступную документацию, качественную поддержку и большое сообщество.
При дальнейшей работе, функционал готового продукта можно расширять. Помимо работы над остальными модулями системы, может быть реализован такой полезный функционал, как синхронизация с мобильными устройствами.
По достижении финальной стадии разработки и готовности всех модулей системы, выпущенный продукт может использоваться на кафедре компьютерного моделирования и многопроцессорных систем для обеспечения удобного доступа к учебным материалам.