Проект "Skilldip" представляет собой приложение для эффективного поиска в файлах, которые очень редко изменяются. Это приложение идеально подходит для сценариев, где необходимо быстро искать данные в большом количестве статичных файлов. Первый запуск приложения занимает некоторое время, так как происходит индексация файлов, но последующие поисковые запросы выполняются очень быстро, с незначительным изменением времени выполнения при изменении запроса.
Для начала необходимо создать папку build
, которая будет использоваться для сборки проекта:
mkdir build
cd build
Для конфигурации проекта используйте cmake, указав путь установки через параметр -DCMAKE_INSTALL_PREFIX. Если вы хотите выключить сборку тестов, используйте -DBUILD_TESTS=OFF.
cmake -DCMAKE_INSTALL_PREFIX=/путь/установки -DBUILD_TESTS=OFF ..
Для сборки проекта в linux выполните следующие команды:
cmake ..
make
Для сборки проекта в windows выполните следующие команды:
cmake ..
cmake --build .
После завершения процесса сборки, в той же директории, что и исполняемый файл, вы обнаружите два ключевых конфигурационных файла: requests.json и config.json. Эти файлы имеют важное значение для настройки функциональности поиска приложения под ваши конкретные требования.
Файл config.json предназначен для указания путей к текстовым файлам, в которых будет осуществляться поиск, а также других параметров конфигурации.
{
"config": {
"max_responses": 5,
"name": "Diplom",
"version": "1.0.0"
},
"files": [
"./tests/file/Biggers.txt",
"./tests/file/Britannica.txt",
"./tests/file/Dzhordan.txt",
"./tests/file/ff.txt",
"./tests/file/odu.txt"
]
}
Модифицируя массив "requests", вы можете настроить поисковую систему на поиск конкретной информации в выбранных документах, делая ее мощным инструментом для извлечения актуальных данных на основе ваших запросов.
{
"requests": [
"become the modern standard",
"some words..",
"silicate mineral content"
]
}
По завершении работы поискового движка результаты его работы будут записаны в файл answers.json. Этот файл будет содержать информацию о дате и времени выполнения поиска, а также собственно результаты поиска — список файлов с указанием степени их релевантности заданным запросам. Формат файла answers.json представляет собой JSON-объект с двумя ключами: "data" и "answers".
Это объект, ключами которого являются пути к текстовым файлам, обработанным поисковым движком, а значениями — числа, отражающие степень релевантности файла к заданным поисковым запросам. Числовые значения релевантности могут быть интерпретированы как мера того, насколько содержание файла соответствует интересам пользователя, выраженным в его запросах.
{
"data": "2024-03-01 17:14:01",
"answers": {
"./tests/file/Britannica.txt": 1.0,
"./tests/file/Dzhordan.txt": 0.13411457645386773,
"./tests/file/ff.txt": 0.0434826254418268,
"./tests/file/odu.txt": 0.03722176138975332,
"./tests/file/Biggers.txt": 0.025318194546443986
}
}
Для запуска приложения с указанием ограничения по количеству задействованных потоков для работы движка, используйте следующую команду в терминале или командной строке, где n — это число, определяющее максимальное количество потоков:
./Skilldip n
Здесь: ./Diplom — это исполняемый файл вашего приложения. Предполагается, что вы находитесь в директории с этим файлом, или он доступен в вашем пути выполнения. n — это аргумент командной строки, который вы передаете в программу, и который должен быть целым числом, указывающим на максимальное количество потоков, которые могут быть использованы движком приложения.
запуск google test
ctest
или мои тесты
./SkilldipTests
./SkilldipTests T1
./SkilldipTests T2 22
Использование
Благодарим за использование нашего приложения!