Похожие презентации:
Реализация полнотекстового поиска по превью новостей в RSS-лентах и исследование эффективности системы
1.
«РЕАЛИЗАЦИЯ ПОЛНОТЕКСТОВОГОПОИСКА ПО ПРЕВЬЮ
НОВОСТЕЙ В RSS-ЛЕНТАХ И
ИССЛЕДОВАНИЕ ЭФФЕКТИВНОСТИ
СИСТЕМЫ»
Выпускная квалификационная работа
Выполнила:
студентка гр. 6231
Голова А.А.
Руководитель:
доцент каф. ПС
Е.В. Сопченко
Самара 2023
2.
ЦЕЛЬ И ПОСТАНОВКА ЗАДАЧИ РАБОТЫЦель: разработать автоматизированную систему
полнотекстового поиска в rss-лентах и изучить ее эффективность
Задачи:
1.
Описать и проанализировать предметную область
2.
Разработать структурную схему системы
3.
Разработать диаграмму объектов системы
4.
Разработать информационно-логический проект системы
5.
Разработать алгоритмы обработки данных
6.
Разработать программное обеспечение, провести его тестирование и
отладку
7.
Исследовать эффективность системы и сравнить результаты с поиском
при помощи SQL
2
3.
RSS-контент3
4.
ОПИСАНИЕ И АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИПолнотекстовый поиск — это комплексный метод поиска, который
сравнивает каждое слово поискового запроса с каждым словом в документе
или базе данных. Поисковые машины и программное обеспечение для
редактирования документов широко используют технику полнотекстового
поиска в функциях поиска в текстовой базе данных, хранящейся в сети или
на локальном диске компьютера. Он позволяет пользователю найти слово
или фразу в любом месте базы данных или документа.
4
5.
СИСТЕМЫ-АНАЛОГИPlazoo
RSSoogle
Jamesoo
5
6.
СИСТЕМЫ-АНАЛОГИНазвание
системы/Характеристика
Разрабатываемая
система
RSSoogle
Plazoo
Jamesoo
Сортировка по
релевантности или дате
+
+
+
+
Поиск по языкам
-
+
-
+
Выбор текущих каналов
+
-
+
+
Представляет новости с
резюме и ссылкой
-
-
+
+
6
7.
СТРУКТУРНАЯ СХЕМА СИСТЕМЫ7
8.
ДИАГРАММА КОМПОНЕНТОВ СИСТЕМЫ8
9.
ДИАГРАММА РАЗВЕРТЫВАНИЯ СИСТЕМЫ9
10.
ДИАГРАММА ВАРИАНТОВ ИСПОЛЬЗОВАНИЯ10
11.
РАЗРАБОТКА ИНФОРМАЦИОННО-ЛОГИЧЕСКОГО ПРОЕКТА11
12.
ВЫБОР КОМПЛЕКСА ПРОГРАММНЫХ СРЕДСТВ1.
Язык программирования – Java, TypeScript
2.
Фреймворки – Spring, Angular, Elasticsearch
3.
Операционная система – Windows 10
4.
Среда программирования – Visual Studio 2019, IntelliJ IDEA
Community Edition 2020 1.3
12
13.
ElasticsearchElasticsearch — тиражируемая свободная программная поисковая
система, по состоянию на середину 2010-х годов — самая популярная в своей
категории. Написана на Java, распространяется по лицензии SSPL (англ.
Server Side Public License), в основе использует библиотеку Lucene (так же
как и вторая по популярности поисковая система — Solr), официальные
клиенты доступны на PHP, Java, .NET (C#), Python, Groovy и ряде других
Языков.
13
14.
ElasticsearchПример документа:
@Document(indexName = "news")
@Data
public class NewsDocument {
@Id
private String id;
@Field(type = FieldType.Text, name = "tittle")
private String tittle;
@Field(type = FieldType.Text, name = "link")
private String link;
@Field(type = FieldType.Text, name = "description")
private String description;
@Field(type = FieldType.Date, name = "pubDate",
format = DateFormat.date)
private Date pubDate;
}
14
15.
Elasticsearch{
"query": {
"match": {
"tittle": {
"query": "search term",
"operator": "and",
"fuzziness": "auto",
"prefix_length": 3,
"max_expansions": 10
}
}
},
"from": 0,
"size": 5,
"explain": true
}
15
16.
Elasticsearch{
"query": {
"bool": {
"must": [
{
"range": {
"pubDate": {
"gte": "date_",
"lte": "date1_",
"format": "yyyy-MM-dd"
}
}
}
]
}
}
}
16
17.
ОПИСАНИЕ ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА17
18.
ОПИСАНИЕ ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА18
19.
ОПИСАНИЕ ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА19
20.
ОПИСАНИЕ ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА20
21.
ОПИСАНИЕ ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА21
22.
ОПИСАНИЕ ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА22
23.
ОПИСАНИЕ ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА23
24.
ОПИСАНИЕ ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА24
25.
ИССЛЕДОВАТЕЛЬСКАЯ ЧАСТЬКритерий
Elaticsearch
SQL
Тип хранилища данных
Неструктурированн
ые данные (NoSQL)
Структурированные данные (RDBMS)
Язык запросов
Query DSL
SQL
Гибкость
Очень гибкий и
масштабируемый
Ограниченная гибкость, меньше масштабируемости
Распределенная архитектура
Да, распределенная
архитектура по
умолчанию
Нет, только в отдельных решениях
Реактивность
Да, поддержка
реактивного
программирования
Нет
Сложность запросов
Менее сложные
запросы, лучшая
производительност
ь при
масштабировании
Более сложные запросы, хорошая производительность на
небольших объемах данных
Графический интерфейс
Есть, Kibana
Есть, многие RDBMS имеют собственные графические
интерфейсы
25
26.
ИССЛЕДОВАТЕЛЬСКАЯ ЧАСТЬ26
27.
ПОИСК ПО ЗАГОЛОВКУ27
28.
ПОИСК ПО ОПИСАНИЮ28
29.
ПОИСК ПО НЕСКОЛЬКИМ ПОЛЯМ29
30.
ТЕСТИРОВАНИЕ СИСТЕМЫ30
31.
ЗАКЛЮЧЕНИЕ1.
Описана и проанализирована предметная область
2.
Разработана структурная схема системы
3.
Разработан информационно-логический проект системы
4.
Разработан алгоритм поиска данных
5.
Разработано программное обеспечение, проведено его
тестирование и отладка
6.
Исследована эффективность системы (среднее время
выполнения запроса Elasticsearch составляет 6,81 миллисекунд,
среднее время выполнения запроса на SQL - 12,395 миллисекунд
31