Дипломный проект 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 руб.
ММА/ИДО Иностранный язык в профессиональной сфере (ЛТМ) Тест 20 из 20 баллов 2024 год
ММА/ИДО Иностранный язык в профессиональной сфере (ЛТМ) Тест 20 из 20 баллов 2024 год Московская международная академия Институт дистанционного образования Тест оценка ОТЛИЧНО 2024 год Ответы на 20 вопросов Результат – 100 баллов С вопросами вы можете ознакомиться до покупки ВОПРОСЫ: 1. We have … to an agreement 2. Our senses are … a great role in non-verbal communication 3. Saving time at business communication leads to … results in work 4. Conducting negotiations with foreigners we shoul
User mosintacd : 28 июня 2024
150 руб.
promo
Задание №2. Методы управления образовательными учреждениями
Практическое задание 2 Задание 1. Опишите по одному примеру использования каждого из методов управления в Вашей профессиональной деятельности. Задание 2. Приняв на работу нового сотрудника, Вы надеялись на более эффективную работу, но в результате разочарованы, так как он не соответствует одному из важнейших качеств менеджера - самодисциплине. Он не обязателен, не собран, не умеет отказывать и т.д.. Но, тем не менее, он отличный профессионал в своей деятельности. Какими методами управления Вы во
User studypro : 13 октября 2016
200 руб.
Особенности бюджетного финансирования
Содержание: Введение Теоретические основы бюджетного финансирования Понятие и сущность бюджетного финансирования Характеристика основных форм бюджетного финансирования Анализ бюджетного финансирования образования Понятие и источники бюджетного финансирования образования Проблемы бюджетного финансирования образования Основные направления совершенствования бюджетного финансирования образования Заключение Список использованный литературы Цель курсовой работы – исследовать особенности бюджетного фин
User Aronitue9 : 24 августа 2012
20 руб.
Программирование (часть 1-я). Зачёт. Билет №2
ЗАЧЕТ по дисциплине “Программирование (часть 1)” Билет 2 Определить значение переменной y после работы следующего фрагмента программы: a = 3; b = 2 * a – 10; x = 0; y = 2 * b + a; if ( b > y ) or ( 2 * b < y + a ) ) then begin x = b – y; y = x + 4 end; if ( a + b < 0 ) and ( y + x > 2 ) ) then begin x = x + y; y = x – 2 end;
User sibsutisru : 3 сентября 2021
200 руб.
Программирование (часть 1-я). Зачёт. Билет №2
up Наверх