Дипломный проект SearchEngine - Поисковый движок -2022 год

Цена:
2000 руб.

Состав работы

material.view.file_icon
material.view.file_icon
material.view.file_icon
material.view.file_icon config
material.view.file_icon description
material.view.file_icon HEAD
material.view.file_icon
material.view.file_icon applypatch-msg.sample
material.view.file_icon commit-msg.sample
material.view.file_icon fsmonitor-watchman.sample
material.view.file_icon post-update.sample
material.view.file_icon pre-applypatch.sample
material.view.file_icon pre-commit.sample
material.view.file_icon pre-merge-commit.sample
material.view.file_icon pre-push.sample
material.view.file_icon pre-rebase.sample
material.view.file_icon pre-receive.sample
material.view.file_icon prepare-commit-msg.sample
material.view.file_icon push-to-checkout.sample
material.view.file_icon update.sample
material.view.file_icon index
material.view.file_icon
material.view.file_icon exclude
material.view.file_icon
material.view.file_icon HEAD
material.view.file_icon
material.view.file_icon
material.view.file_icon main
material.view.file_icon
material.view.file_icon
material.view.file_icon HEAD
material.view.file_icon
material.view.file_icon
material.view.file_icon
material.view.file_icon pack-868a5d2471711cbcaff09d135b3da6a2f483f3bc.idx
material.view.file_icon pack-868a5d2471711cbcaff09d135b3da6a2f483f3bc.pack
material.view.file_icon packed-refs
material.view.file_icon
material.view.file_icon
material.view.file_icon main
material.view.file_icon
material.view.file_icon
material.view.file_icon HEAD
material.view.file_icon
material.view.file_icon .gitignore
material.view.file_icon
material.view.file_icon .gitignore
material.view.file_icon compiler.xml
material.view.file_icon encodings.xml
material.view.file_icon jarRepositories.xml
material.view.file_icon jpa-buddy.xml
material.view.file_icon misc.xml
material.view.file_icon vcs.xml
material.view.file_icon workspace.xml
material.view.file_icon
material.view.file_icon
material.view.file_icon maven-wrapper.properties
material.view.file_icon application-mysql.yaml
material.view.file_icon application-postgresql.yaml
material.view.file_icon application.yaml
material.view.file_icon init_morphology.cmd
material.view.file_icon
material.view.file_icon dictionary-reader.jar
material.view.file_icon english.jar
material.view.file_icon morph.jar
material.view.file_icon morphology.jar
material.view.file_icon russian.jar
material.view.file_icon mvnw
material.view.file_icon mvnw.cmd
material.view.file_icon pom.xml
material.view.file_icon README.md
material.view.file_icon
material.view.file_icon dashboard.png
material.view.file_icon management.png
material.view.file_icon management_ru.png
material.view.file_icon run_package.png
material.view.file_icon search.png
material.view.file_icon
material.view.file_icon
material.view.file_icon
material.view.file_icon
material.view.file_icon
material.view.file_icon ErrorResponse.java
material.view.file_icon PageData.java
material.view.file_icon Response.java
material.view.file_icon SearchResponse.java
material.view.file_icon StatisticsResponse.java
material.view.file_icon
material.view.file_icon IndexBuilder.java
material.view.file_icon Node.java
material.view.file_icon PageBuilder.java
material.view.file_icon PagesOfSiteBuilder.java
material.view.file_icon SiteBuilder.java
material.view.file_icon
material.view.file_icon LocaleChangeConfig.java
material.view.file_icon Props.java
material.view.file_icon ServerConfig.java
material.view.file_icon
material.view.file_icon DefaultController.java
material.view.file_icon IndexingController.java
material.view.file_icon SearchController.java
material.view.file_icon StatisticsController.java
material.view.file_icon
material.view.file_icon Lemmatizator.java
material.view.file_icon
material.view.file_icon Field.java
material.view.file_icon Index.java
material.view.file_icon Lemma.java
material.view.file_icon Page.java
material.view.file_icon Site.java
material.view.file_icon
material.view.file_icon FieldRepository.java
material.view.file_icon IndexRepository.java
material.view.file_icon IndexRepositoryCustom.java
material.view.file_icon IndexRepositoryImpl.java
material.view.file_icon LemmaRepository.java
material.view.file_icon PageRepository.java
material.view.file_icon Repos.java
material.view.file_icon SiteRepository.java
material.view.file_icon
material.view.file_icon LemmaFrequency.java
material.view.file_icon LemmaRank.java
material.view.file_icon OwnText.java
material.view.file_icon PageRelevance.java
material.view.file_icon SearchListener.java
material.view.file_icon SearchRequest.java
material.view.file_icon SearchResponseBuilder.java
material.view.file_icon Snippet.java
material.view.file_icon SearchEngineApplication.java
material.view.file_icon
material.view.file_icon RandomUserAgent.java
material.view.file_icon
material.view.file_icon banner.txt
material.view.file_icon banner2.txt
material.view.file_icon data-postgresql.sql
material.view.file_icon import.sql
material.view.file_icon
material.view.file_icon messages_en.properties
material.view.file_icon messages_ru.properties
material.view.file_icon log4j2.xml
material.view.file_icon
material.view.file_icon MANIFEST.MF
material.view.file_icon schema-postgresql.sql
material.view.file_icon
material.view.file_icon
material.view.file_icon
material.view.file_icon basic.css
material.view.file_icon extra.css
material.view.file_icon fonts.css
material.view.file_icon
material.view.file_icon
material.view.file_icon Montserrat-Black.css
material.view.file_icon Montserrat-Black.eot
material.view.file_icon Montserrat-Black.svg
material.view.file_icon Montserrat-Black.ttf
material.view.file_icon Montserrat-Black.woff
material.view.file_icon Montserrat-Black.woff2
material.view.file_icon Montserrat-Bold.css
material.view.file_icon Montserrat-Bold.eot
material.view.file_icon Montserrat-Bold.svg
material.view.file_icon Montserrat-Bold.ttf
material.view.file_icon Montserrat-Bold.woff
material.view.file_icon Montserrat-Bold.woff2
material.view.file_icon Montserrat-ExtraBold.css
material.view.file_icon Montserrat-ExtraBold.eot
material.view.file_icon Montserrat-ExtraBold.svg
material.view.file_icon Montserrat-ExtraBold.ttf
material.view.file_icon Montserrat-ExtraBold.woff
material.view.file_icon Montserrat-ExtraBold.woff2
material.view.file_icon Montserrat-ExtraLight.css
material.view.file_icon Montserrat-ExtraLight.eot
material.view.file_icon Montserrat-ExtraLight.svg
material.view.file_icon Montserrat-ExtraLight.ttf
material.view.file_icon Montserrat-ExtraLight.woff
material.view.file_icon Montserrat-ExtraLight.woff2
material.view.file_icon Montserrat-Light.css
material.view.file_icon Montserrat-Light.eot
material.view.file_icon Montserrat-Light.svg
material.view.file_icon Montserrat-Light.ttf
material.view.file_icon Montserrat-Light.woff
material.view.file_icon Montserrat-Light.woff2
material.view.file_icon Montserrat-Medium.css
material.view.file_icon Montserrat-Medium.eot
material.view.file_icon Montserrat-Medium.svg
material.view.file_icon Montserrat-Medium.ttf
material.view.file_icon Montserrat-Medium.woff
material.view.file_icon Montserrat-Medium.woff2
material.view.file_icon Montserrat-Regular.css
material.view.file_icon Montserrat-Regular.eot
material.view.file_icon Montserrat-Regular.svg
material.view.file_icon Montserrat-Regular.ttf
material.view.file_icon Montserrat-Regular.woff
material.view.file_icon Montserrat-Regular.woff2
material.view.file_icon Montserrat-SemiBold.css
material.view.file_icon Montserrat-SemiBold.eot
material.view.file_icon Montserrat-SemiBold.svg
material.view.file_icon Montserrat-SemiBold.ttf
material.view.file_icon Montserrat-SemiBold.woff
material.view.file_icon Montserrat-SemiBold.woff2
material.view.file_icon Montserrat-Thin.css
material.view.file_icon Montserrat-Thin.eot
material.view.file_icon Montserrat-Thin.svg
material.view.file_icon Montserrat-Thin.ttf
material.view.file_icon Montserrat-Thin.woff
material.view.file_icon Montserrat-Thin.woff2
material.view.file_icon
material.view.file_icon
material.view.file_icon arrow_hide.svg
material.view.file_icon cancel.svg
material.view.file_icon checked.svg
material.view.file_icon dashboard.svg
material.view.file_icon management.svg
material.view.file_icon pause.svg
material.view.file_icon search.svg
material.view.file_icon
material.view.file_icon scripts.js
material.view.file_icon
material.view.file_icon index.html
material.view.file_icon
material.view.file_icon
material.view.file_icon
material.view.file_icon
material.view.file_icon
material.view.file_icon SearchEngineApplicationTests.java
Работа представляет собой zip архив с файлами (распаковать онлайн), которые открываются в программах:
  • Microsoft Excel
  • Программа для просмотра изображений
  • Программа для просмотра текстовых файлов

Описание

Дипломный проект SearchEngine - Поисковый движок -2022 год.

Данный проект реализует поисковый движок, предоставляющий пользователю специальный API со следующими основными функциями:

предварительное индексирование сайтов;
выдача основных сведений по сайтам;
поиск ключевых слов в проиндексированных сайтах и предоставление их пользователю.

Дополнительная информация

Дипломный проект SearchEngine - Поисковый движок -2022 год.

Веб-страница:
В проект также входит веб-страница, которая позволяет управлять процессами, реализованными в движке.

Страница содержит три вкладки:

- Вкладка DASHBOARD (см. приложенные файлы)
Эта вкладка открывается по умолчанию. На ней отображается общая статистика по всем проиндексированным сайтам, а также детальная статистика и статус по каждому из сайтов (статистика, получаемая по запросу /statistics).

- Вкладка MANAGEMENT (см. приложенные файлы)
На этой вкладке находятся инструменты управления поисковым движком — запуск (запрос /startIndexing) и остановка (запрос /stopIndexing) полной индексации (переиндексации), а также возможность добавить (обновить) отдельную страницу по ссылке (запрос /indexPage/{pagePath}). Отметим, что если в последнем запросе присутствует только URL сайта без завершающего слэша (/), как в приведённом выше скриншоте, то индексироваться будет указанный сайт целиком.

- Вкладка SEARCH (см. приложенные файлы)
Эта вкладка предназначена для тестирования поискового движка. На ней находится поле поиска и выпадающий список с выбором сайта, по которому искать, а при нажатии на кнопку SEARCH выводятся результаты поиска (по запросу /search).

Кодировка страницы (см. приложенные файлы)
На всех вкладках присутствует выпадающий список Language (Язык). При выборе одного из двух вариантов — English или Русский — соответственно поменяется кодировка страницы.
Пример русской раскладки:(см. приложенные файлы)

Файлы настройки:

Данное приложение по выбору может работать либо с СУБД MySQL, либо с СУБД PostgreSQL. Выбор зависит от значения параметра spring.profiles.active в конфигурационном файле application.yaml, который определяет профиль и находится в корне проекта. Параметр может принимать одно из двух значений:

mysql — для работы с MySQL;
postgresql — для работы с PostgreSQL.
В зависимости от значения заданного профиля подключается один из двух соответствующих конфигурационных файлов: application-mysql.yaml или application-postgresql.yaml, которые тоже находятся в корне проекта.

Приложение допускает подключение и к другим реляционным БД. Для этого, по аналогии с PostgreSQL, нужно создать файл application-{profilename}.yaml, скрипт для генерирования объектов БД — schema-{profilename}.sql и скрипт для наполнения таблицы field — data-{profilename}.sql. Кроме того, в файле pom.xml нужно подключить подходящую зависимость, обеспечивающую работу с выбранной БД.

Раздел server
В этом разделе задаётся параметр port — порт, через который контроллеры приложения "слушают" веб-запросы. Задавая разные порты, можно, например, из разных папок, в которых находятся файлы настройки, запустить несколько экземпляров приложения.

Также задаётся параметр indexingAvailable, который разрешает или запрещает данному экземпляру приложения индексировать сайты. При любом значении параметра — true или false — разрешены поиск по сайтам и просмотр статистики.

Раздел spring
Здесь задаются параметры СУБД, в которой приложение хранит данные конфигурации. Некоторые параметры общие для всех СУБД и они находятся в файле application.yaml. Специфичные для выбранной СУБД параметры находятся в соответствующих файлах application-{profilename}.yaml

Следует отметить важность параметра spring.jpa.hibernate.ddl-auto и отличия его применения в двух случаях:

СУБД MySQL. База данных создаётся на основе классов из пакета main.model. В том случае, когда параметр принимает значение create, при запуске приложения база данных пересоздаётся, то есть содержимое всех таблиц БД уничтожается. При следующих запусках значение этого параметра следует установить в update.
Другие СУБД. База данных создаётся скриптом schema-{profilename}.sql. При этом параметр spring.jpa.hibernate.ddl-auto должен принимать значение none. Теперь поведение системы зависит от параметра spring.sql.init.mode: если он принимает значение always, то при запуске приложения база данных пересоздаётся. Если он принимает значение never, то база данных остаётся прежней.
Раздел logging
Здесь можно задать уровень логирования level.root и имя файла журнала file.name.

Раздел config
На режим индексации влияют следующие параметры:

forSitesThreadNumber — максимальное количество потоков, в которых могут параллельно индексироваться различные сайты;
forPagesThreadNumber — максимальное количество потоков, в которых могут индексироваться страницы каждого сайта. Когда наложено ограничение на минимальный интервал обращения к конкретному сайту (об этом ниже), то 2–3 потока вполне достаточно. Если такого ограничения нет, то значение 8 данного параметра значительно ускорит процесс индексирования;
repeatedPageCount — один из параметров, позволяющих ограничить количество индексируемых страниц;
maxPagesInSite — когда количество страниц для данного сайта достигает этого значения, индексация сайта останавливается. Чаще всего ещё несколько страниц будет проиндексировано после достижения maxPagesInSite.
synchronizePageSave — разрешает или запрещает включение оператора synchronize при сохранении записи в таблицу page. Для СУБД MySQL параметр должен быть установлен в true, для PostgreSQL может быть установлен в false.
multiInsertString — в этом параметре определена подстрока специфичного для каждой СУБД запроса множественной вставки.
Список sites
Здесь приведён список сайтов, которые программа будет в состоянии индексировать. Каждый сайт характеризуется следующими параметрами:

url — адрес сайта. Если в адресе присутствует страница (как, например, в случае https://et-cetera.ru/mobile), то всё равно индексирование начнётся с главной страницы (как если бы в параметре было указано https://et-cetera.ru);
name — имя сайта. Оно, в частности, выводится в списке сайтов на вкладке DASHBOARD;
pause — минимальный интервал обращения к одному сайту при индексировании, выраженный в миллисекундах. Параметр может принимать положительные значения и 0. При нуле задержек между обращениями не будет.
Используемые технологии
Приложение построено на платформе Spring Boot.

Необходимые компоненты собираются с помощью фреймворка Maven. Maven подключает следующие относящиеся к Spring Boot стартеры:

spring-boot-starter-web — подтягивает в проект библиотеки, необходимые для выполнения Spring-MVC функций приложения. При этом обмен данными между браузером и сервером выполняется по технологии AJAX;
spring-boot-starter-data-jpa — отвечает за подключение библиотек, требующихся для работы приложения с базой данных;
spring-boot-starter-thymeleaf — шаблонизатор веб-страницы программы.
Для загрузки и разбора страниц с сайтов используется библиотека jsoup.

Данная версия программы работает с СУБД MySQL. Для этого подключается зависимость mysql-connector-java.

Для удобства написания (и чтения) программного кода и для расширения функциональности языка Java используется библиотека Lombok (зависимость lombok).

Запуск программы
Репозиторий с приложением SearchEngine находится по адресу https://github.com/vrpanfilov/SearchEngine.git.

Если проект загрузить на локальный диск, то он готов к тому, чтобы его можно было скомпилировать и запустить с помощью среды разработки IntelliJ IDEA.

Перед первой компиляцией программы следует выполнить следующие шаги:

Установить СУБД — одну или несколько, если они ещё не установлены.
В базе данных создать схему search_engine. Имя схемы может быть и другим, но тогда это должно быть отражено в параметре spring.datasource.url в файле application-{profilename}.yaml.
В схеме нужно создать пользователя se_user с паролем se_user. Пользователь и пароль могут быть другими, это опять же должно соответствовать параметрам spring.datasource.username и spring.datasource.password в файле application-{profilename}.yaml.
Установить параметры jpa.hibernate.ddl-auto и, если нужно, параметр spring.sql.init.mode так, как это описано выше.
Установить фреймворк Apache Maven, если он ещё не установлен.
В командной оболочке (например, PowerShell) перейти в корневой каталог проекта и выполнить пакетный файл init_morphology.cmd:
.\init_morphology.cmd.

Теперь приложение можно компилировать и запускать из программной среды.

Приложение может быть также запущено командной строкой. Для этого оно должно быть скомпилировано в панели Maven среды разработки командой package: (см. приложенные файлы).

Результат компиляции, SearchEngine-0.0.1-SNAPSHOT.jar, будет располагаться в папке target. Этот файл можно перенести в любую доступную папку на компьютере, при этом в той же папке должны находиться файлы application.yaml и application-{profilename}.yaml. Приложение запускается строкой

java -jar SearchEngine-0.0.1-SNAPSHOT.jar.

Можно поступить и так. В несколько папок — например, d:\aaa, d:\bbb — положить набор файлов настройки application.yaml и application-{profilename}.yaml.

Файлы application.yaml будут отличаться параметром server.port. А приложение SearchEngine-0.0.1-SNAPSHOT.jar можно поместить, например, в папку d:\search_engine. Тогда, перейдя, последовательно в папки d:\aaa и d:\bbb, можно запустить два экземпляра программы командой

java -jar d:\search_engine\SearchEngine-0.0.1-SNAPSHOT.jar.

Эти экземпляры будут "слушать" разные порты и не мешать друг другу при условии, что только у одного экземпляра приложения параметр конфигурации server.indexingAvailable принимает значение true.
Skillbox. Итоговый проект курса «Поисковый движок». Java-разработчик.
Skillbox. Java-разработчик. Итоговый проект курса «Поисковый движок» Данный проект сдан в 2021 году, но актуален по сей день. Проект включает описание самого, проекта, техническую спецификацию, Т.З, критерий оценивания, а также описание подключение и создание базы и таблиц, а также скрипт для создания самих таблиц. В стоимость входит поддержка и исправление замечаний от куратора на всем пути до сдачи проекта.
User StudentHelp : 25 марта 2025
4000 руб.
Skillbox. Итоговый проект курса «Поисковый движок». Java-разработчик.
Конкуренция - ответы на тест Синергия - 2022 год!
Все вопросы. Полная база. 121 вопрос с ответами. Сдано на 90 баллов из 100 Сдано в 2022 году! Верные ответы выделены зеленым цветом.
User StudentHelp : 23 августа 2022
390 руб.
Конкуренция - ответы на тест Синергия - 2022 год!
Вступительный экзамен в магистратуру СибГУТИ 2022 год.
1. Вычислить определенный интеграл ∫_0^(π/2)▒sin7xdx 2. Найти векторное произведение a ̅×b ̅; 3. Число отказов радиотехнической системы – пуассоновский поток с интенсивностью 0,003 отказов в час. Найти вероятность того, что за 200 часов работы системы будет не менее двух отказов 4. Среди 10 деталей 3 бракованных. Наугад берутся две детали. Найти вероятность того, что среди них будет по крайней мере одна не бракованная. 5. Эталонная модель взаимодействия открытых систем ISO/OSI. Известные стеки
700 руб.
Вступительный экзамен в магистратуру СибГУТИ 2022 год.
Основы предпринимательства Тест с ответами Синергия 2022 год
Основы предпринимательства Тест с ответами Синергия 2021 год 33 вопроса с ответами! Сдано в 2021 году на 97 баллов! Ответы выделены цветом!
User StudentHelp : 18 ноября 2022
390 руб.
Основы предпринимательства Тест с ответами Синергия 2022 год
Общая энергетика - Ответы на тест - Синергия - 2022 год
Общая энергетика - Ответы на тест - Синергия - 2022 год 30 вопросов с ответами Сдано на 100 баллов в 2022 году Все ответы выделены цветом
User StudentHelp : 16 ноября 2022
390 руб.
Общая энергетика - Ответы на тест - Синергия - 2022 год
Элементы в высшей математике - Экзамен - Синергия 2022 год
Элементы в высшей математике - Экзамен - Синергия 2022 год 25 вопрос с ответами Сдано на 100 баллов в 2022 году
User StudentHelp : 15 ноября 2022
390 руб.
Элементы в высшей математике - Экзамен - Синергия 2022 год
Физика (часть 1-я). Вариант: №9 к . 2022 год
Физика (часть 1) Вариант: 9. кр1 1. На сколько переместится относительно берега лодка длиной 3,5 м и массой 200 кг, если стоящий на корме человек массой 80 кг переместится на нос лодки? Считать лодку расположенной перпендикулярно берегу. 2. Из орудия производилась стрельба в горизонтальном направлении. Когда орудие было неподвижно закреплено, снаряд вылетел со скоростью 600 м/с, а когда орудию дали возможность свободно откатываться назад, снаряд вылетел со скоростью 580 м/с. С какой скоростью от
User Богдан40 : 18 января 2022
100 руб.
Физика (часть 1-я). Вариант: №9 .2022 год
кр2 1. В сеть с напряжением 100 В подключили катушку с сопротивлением 2 кОм и вольтметр, соединённые последовательно. Показание вольтметра 80 В. Когда катушку заменили другой, вольтметр показал 60 В. Вычислите сопротивление другой катушки. 2 Сила тока в цепи изменяется по закону I(t) = Imsin(щt), где Im = 20 A и щ = 0,2р с-1. Вычислите количество теплоты, которое выделится в участке цепи сопротивлением 12 Ом за время, равное четверти периода изменения тока. 3. Задача №3 По двум бесконечно длинн
User Богдан40 : 18 января 2022
100 руб.
Онлайн тестирование по дисциплине "Планирование и управление информационной безопасностью". Вариант общий
Вопрос No1 Из каких блоков схемы управления рисками ИБ предусмотрен переход на блок схемы «мониторинг и пересмотр рисков ИБ»: оценивание рисков установление контекста принятие рисков ИБ рассмотрение рисков Вопрос No2 Укажите порядок следования этапов жизненного цикла документального обеспечения СУИБ в перечисленных
User teacher-sib : 4 июня 2021
500 руб.
Онлайн тестирование по дисциплине "Планирование и управление информационной безопасностью". Вариант общий promo
Проектный анализ. Синергия. Тест.
Проектный анализ. Синергия. Тест.24 Вопроса. 2023 год. Перед покупкой убедитесь что вопросы вам подходят. 1)Для изучения относительной привлекательности отрасли используют... 2)Главная задача социального анализа - это оценка ... 3)Образование, здоровье и благополучие, плотность населения (городского и сельского) - все это относится к ... 4)Оценка хозяйственной политики на длительный период, определяющая степень жизнеспособности проекта в перспективе, является целью... 5)Технически достижимая м
User ProF3206 : 16 февраля 2023
200 руб.
Гидравлика и нефтегазовая гидромеханика ТОГУ Задача 39 Вариант 3
Определить потерю давления в трубопроводе, состоящем из двух последовательных участков переменного прямоугольного сечения (соотношение a1×b1, a2×b2) длиной l1 и l2, если расход в начале трубопровода Q, а на границе участков отбирается расход q. Плотность газа ρ, кинематический коэффициент вязкости ν. Трубы стальные. Потерей давления в местных сопротивлениях можно пренебречь.
User Z24 : 28 ноября 2025
160 руб.
Гидравлика и нефтегазовая гидромеханика ТОГУ Задача 39 Вариант 3
Моделирование и анализ бизнес-процессов.
ЗАДАНИЕ 1. МОДЕЛИРОВАНИЕ БИЗНЕС-ПРОЦЕССОВ Вариант 7 Создайте диаграмму последовательности языка UML для процесса «Продажа по каталогам фирмы X», имеющего следующее описание: «Клиент обращается к Консультанту. Консультант выдает Каталоги и помогает выбрать Товар. Если Клиент выбрал Товар, Консультант оформляет Заказ и отправляет его в Отдел заказов, который пересылает Заказ в Фирму Х. Товар, посланный Фирмой Х, поступает в Отдел получения товаров. Сотрудник этого отдела сообщает Отделу заказов о
User studypro3 : 30 ноября 2017
500 руб.
up Наверх