Дипломная работа на тему "ТЮМГУ | Разработка автоматизированной системы подготовки конфигурации поискового модуля"

Работа на тему: Разработка автоматизированной системы подготовки конфигурации поискового модуля
Оценка: отлично.
Оригинальность работы на момент публикации 50+% на антиплагиат.ру.
Ниже прилагаю все данные для покупки.
https://studentu24.ru/list/suppliers/Anastasiya1---1326

Описание работы

МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное автономное образовательное учреждение высшего образования
«ТЮМЕНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ»
ИНСТИТУТ МАТЕМАТИКИ И КОМПЬЮТЕРНЫХ НАУК
Базовая кафедра автоматизации бизнес-процессов
.

ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА
бакалаврская работа
РАЗРАБОТКА АВТОМАТИЗИРОВАННОЙ СИСТЕМЫ ПОДГОТОВКИ КОНФИГУРАЦИИ ПОИСКОВОГО МОДУЛЯ

09.03.03 Прикладная информатика
Профиль «Разработка информационных систем бизнеса»

Тюмень 2023

РЕФЕРАТ
Отчет на 81 стр., 3 главы, 17 рис., 11 источников, 5 таблиц.
Тема ВКР: Разработка автоматизированной системы подготовки конфигурации поискового модуля.
Ключевые слова: поисковый модуль, конфигурирование поиска, пользовательские поисковые логи, оценка качества на основе пользовательских поисковых логов, адаптированный поиск, сущность для поиска.
Объектом разработки в данной работе является подсистема подготовки адаптированного поискового модуля для ООО «АЙТИ-СЕРВИС».
Цель работы: Сокращение временных затрат на подготовку конфигурации, адаптации и оценки качества работы (валидации) поискового модуля для требуемых подсистем.
Результат работы: Разработана подсистема подготовки и оценки адаптированного поиска, которая предоставляет возможность задавать параметры поискового модуля, генерировать конфигурацию на основе сущности для поиска, автоматически развертывать экземпляр поискового ядра, собирать показатели о его работе и получать оценку качества на основе пользовательских поисковых логов. Для этого был создан мета-шаблон поисковой конфигурации, Rest API приложение для приема входных параметров и реализованы алгоритмы для их обработки. Алгоритмы выполняются в рамках, асинхронных задач, которые хранятся в очереди, связанные между собой последовательностью входных-выходных данных.
Область применения: разработанная подсистема будет использоваться внутренним заказчиком (разработчиком), которому требуется интегрировать адаптированный под конкретную предметную область поисковый модуль в разрабатываемую им подсистему, на предприятии ООО «АЙТИ-СЕРВИС».

ОГЛАВЛЕНИЕ
ТЕРМИНЫ И ОПРЕДЕЛЕНИЯ 5
ВВЕДЕНИЕ 7
ГЛАВА 1. ОПИСАНИЕ ПОДГОТОВКИ ПОИСКОВОГО МОДУЛЯ 10
1.1. Описание процедуры конфигурирования поиска 10
1.2. Описание процедуры валидации поиска 16
ГЛАВА 2. ПРОЕКТИРОВАНИЕ 25
2.1. Постановка цели и задач 25
2.2. Процесс подготовки поискового модуля «как будет» 28
2.3. Модель предметной области 35
2.3.1. Модуль «Обработчик входящих заявок на создание поиска» 35
2.3.2. Модуль «Генератор адаптированных конфигураций Solr на основе мета-конфигураций» 38
2.3.3. Модуль «Сборщик поисковой аналитики» 42
ГЛАВА 3. РЕАЛИЗАЦИЯ 50
3.1. Стек и используемые технологии 50
3.2. Создание «Генератора адаптированных конфигураций Solr на основе мета-конфигураций» 52
3.2.1. Реализация мета-схемы Solr (schema.xml) 52
3.2.2. Реализация мета-конфигурации Solr (solrconfig.xml) 54
3.2.3. Реализация генерации адаптированных конфигураций 57
3.3. Создание “Обработчика входящих заявок” 60
3.4. Создание “Сборщика поисковой аналитики” с использованием инструмента Celery 60
3.5. Результаты 65
ЗАКЛЮЧЕНИЕ 66
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 68
Приложение 1. Пример выходных данных с показателями качества выданных результатов поисковой системой 74
Приложение 2. Python Pydantic model, представляющая собой объект передачи данных о заявке на реализацию поискового модуля 76
Приложение 3. Пример ответа от источника данных хранящий данные о заказах поставщиков 77
Приложение 4. Класс, объекта данных поискового результата 79
Приложение 5. Класс, объекта данных “Тест-Кейса” 81

ТЕРМИНЫ И ОПРЕДЕЛЕНИЯ
Ранжирование поисковой выдачи - это процесс сортировки результатов поиска в соответствии с релевантностью (или другими настраиваемыми параметрами) каждого из найденных документов. Чем выше релевантность документа, тем выше его место в выдаче, иными словами, это сортировка документов по убыванию релевантности. Ранжирование - важнейший аспект поиска, поскольку результат поисковой выдачи увидит конечный пользователь. И мы понимаем, что пользователь желает видеть результаты, максимально близкие и релевантные каждому поисковому запросу.
Релевантность - в общем смысле этот термин означает соответствие результата ожиданиям. В контексте работы с поиском, релевантность – это соответствие интента (поискового намерения), заложенного в запросе, и выдачи в поисковой системе, полученной в результате этого запроса.
Apache Solr – это open-source проект полнотекстового поиска, использующегося для разработки поисковых приложений. Разработан на базе Apache Lucene Project, используется как платформа для разработки поисковых систем.
Kibana – тиражируемая свободная программная панель визуализации данных, используется в компании как BI система для отслеживания метрик.
Logstash – программное обеспечение для сбора, фильтрации и нормализации анализируемых данных, выступает в качестве хранилища и структуризации данных, для дальнейшего их отображения в Kibana.
SAP ERP – программное обеспечение для планирования ресурсов предприятия, используется для управления различными видами бизнес и управленческих процессов, а так служит в качестве информационной базы для получения актуальной информации о товарах и других видов деятельности.
Confluence – тиражируемая вики-система для внутреннего использования организациями с целью создания единой базы знаний, используется в компании для хранения документаций и руководства пользователя действующий и разрабатываемых систем.
Docker – платформа контейнеризации с открытым исходным кодом, с помощью которой можно автоматизировать создание приложений, используется для автоматизации разворачивания различных служебных модулей и приложений компании.
ПС – поисковая система.

ВВЕДЕНИЕ
Для успешной подготовки и защиты выпускной квалификационной работы обучающимся использовались средства и методы физической культуры и спорта с целью поддержания должного уровня физической подготовленности, обеспечивающую высокую умственную и физической работоспособность. В режим рабочего дня включались различные формы организации занятий физической культурой (физкультпаузы, физкультминутки, занятия избранным видом спорта) с целью профилактики 5 утомления, появления хронических заболеваний и нормализации деятельности различных систем организма.

В рамках подготовки к защите выпускной квалификационной работы автором созданы и поддерживались безопасные условия жизнедеятельности, учитывающие возможность возникновении чрезвычайных ситуаций.

ООО «АЙТИ-СЕРВИС» – компания, основным видом деятельности которой является розничная продажа строительных материалов, в том числе с использованием интернет-магазина.
В компании существует объемная информационная база по товарам, работающая под управлением программного обеспечения для планирования ресурсов предприятия - SAP ERP, которая используется для предоставления актуальной информации о товарах, их наличия и состояния на складе. Для удобного поиска по данной информационной базе, практически все внутренние сервисы компании, включая и внешний интернет магазин, используют полнотекстовую поисковую платформу Apache Solr с открытым исходным кодом, которую можно гибко настраивать под различные требования к работе поиска. Для повышения релевантности требуется настройки поисковых правил и используемых механизмов обработки текстов для осуществления поиска. Для осуществления валидации требуется давать

оценку качества поисковой выдачи, которую производят люди со специальной ролью – асессоры.
Оценка и оптимизация механики релевантного поиска на базе Apache Solr являются важными задачами при создании и интеграции поискового модуля во внутренние сервисы компании. Целью этого процесса является обеспечение точного и актуального поиска документов или товаров, соответствующих запросам пользователей.

Ключевым аспектом успешного поискового модуля является контроль ранжирования результатов поиска на основе строгих критериев. Это позволяет предоставлять пользователям наиболее релевантные результаты, отвечающие их запросам. Для достижения этой цели важно провести глубокий анализ и настройку параметров и настроек Solr, таких как конфигурационный файл solrconfig.xml и схема данных schema.xml.

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

Создание подсистемы подготовки поискового модуля, включающей в себя автоматическое конфигурирование, сбор метрик и оценку релевантности, становится важным шагом в разработке поискового решения. Эта подсистема позволяет автоматизировать процесс настройки Solr, включая создание и изменение конфигурационных файлов. Она также собирает и выгружает метрики, такие как время выполнения запросов, точность результатов поиска и другие показатели производительности.

Применение подсистемы подготовки поискового модуля в компании позволяет повысить эффективность процесса настройки и оптимизации поискового модуля. Автоматизация конфигурирования Solr и сбора метрик упрощает и ускоряет процесс, позволяя быстрее реагировать на изменения в требованиях и улучшать результаты поиска. Результаты оценки релевантности помогают выявить слабые стороны и принять меры по их улучшению, что ведет к более точному и удовлетворительному поисковому опыту для пользователей.

Таким образом, создание подсистемы подготовки поискового модуля, объединяющей автоматическое конфигурирование, сбор метрик и оценку релевантности, является неотъемлемой частью разработки эффективного поискового решения. Это позволит компании сократить время на разработку и поддержку поисковых модулей.

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1. Даг Тарнбулл, Джон Берримен. Релевантный поиск с использованием Elasticsearch и Solr. / пер. с англ. Киселев А.Н. – М.: ДМК Пресс, 2018.
– 408 с.: ил. (дата обращения 15.07.2022)
2. Документация Docker [Сайт].
3. Документация Python 3.10 [Сайт].
4. Документация Pydantic Python 3.10 [Сайт].
5. Шукла Пранав, Кумар Шарат. Elasticsearch, Kibana, Logstash и поисковые системы нового поколения.
— СПб.: Питер, 2019. — 352 с.: ил. — (Серия «Для профессионалов»). ISBN 978-5-4461-1024-7 (дата обращения 15.07.2022)
6. Руководство по Apache Solr 8.0 [Сайт].
7. Документация Pandas Python 3.10 [Сайт].
8. Документация Celery Python 3.10 [Сайт].
9. Документация Redis [Сайт].
10. Совместное использование Celery Python 3.10 и Redis [Сайт].
11. Документация для разработчиков CoreAdmin Api Solr [Сайт].
12. Документация по конфигурированию solrconfig.xml [Сайт].
13. Документация по работе с API схемы schema.xml [Сайт]
14. Документация по элементам схемы schema.xml [Сайт].
15. Документация по работе с Logstash [Сайт].
16. Документация по работе с Google Sheets API [Сайт].
17. Документация по работе с Fast API [Сайт].
18. Обзор архитектуры Celery и как это работает [Сайт].
19. Руководство по диаграммам активности [Сайт].
21. Ликбез по BPMN [Сайт].
22. UML моделирование системы обработки заказов [Сайт].
23. Как построить UML-диаграмму последовательности: практический пример [Сайт].
24. Документация Python: The ElementTree XML API [Сайт].
25. Описание внутреннего API компании, Swagger Sap ERP API [Сайт].
26. Персиваль Гарри, Грегори Боб. Паттерны разработки на Python: TDD, DDD и событийно-ориентированная архитектура. — СПб.: Питер, 2022.
— 336 с.: ил. — (Серия «Для профессионалов»). ISBN 978-5-4461-1468- 9 (дата обращения 01.06.2023)
27. Документация Python Celery: Tasks [Сайт].
28. Документация по логированию Python: Logging [Сайт].
29. Документация запланированного запуска Python Celery: Periodic Tasks [Сайт].
30. Документация для разработчиков Solr: Stop Filter [Сайт].
31. Документация для разработчиков Solr: White Space Tokenizer [Сайт].
32. Документация для разработчиков Solr: Pattern Replace Filter [Сайт].
33. Документация для разработчиков Solr: Word Delimiter Graph Filter [Сайт].
34. Документация для разработчиков Solr: Hunspell Stem Filter [Сайт].
35. Документация для разработчиков Solr: Lower Case Filter [Сайт].
36. Документация для разработчиков Solr: Defining fields, определение полей [Сайт].
37. Документация для разработчиков Solr, текстовое поле [Сайт].
38. Документация для разработчиков Solr: SearchHandlers [Сайт].
39. Документация для разработчиков Solr: RequestHandlers & Components [Сайт].
40. Документация для разработчиков Solr: Updating Parts of Documents [Сайт].
41. Использование Python Pydantic для FastAPI [Сайт].
42. Багаутдинов К.Ш. МЕТОДЫ ИНТЕГРАЦИИ ИНФОРМАЦИОННЫХ СИСТЕМ НА ОСНОВЕ УНИВЕРСАЛЬНОГО АНАЛИЗАТОРА ОНЛАЙН-ИНФОРМАЦИИ // ВК. 2019. №3 (35) [Сайт].
43. Основы UML. Диаграммы последовательности [Сайт].
44. SOLID принципы. Рефакторинг [Сайт].

НЕ НАШЛИ, ЧТО ИСКАЛИ? МОЖЕМ ПОМОЧЬ.

СТАТЬ ЗАКАЗЧИКОМ