Categorygithub.com/polis-mail-ru-golang-1/t2-invert-index-search-RGrouse
repositorypackage
0.0.0-20181114134054-62abcf6b7fb2
Repository: https://github.com/polis-mail-ru-golang-1/t2-invert-index-search-rgrouse.git
Documentation: pkg.go.dev

# Packages

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# README

Поиск релевантного файла

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

Директория с файлами, интерфейс, уровень логирования, подключение к БД и тип модели задаются переменными среды (SDIR, LISTEN, LOG_LEVEL, PGSQL, MODEL соответственно). Например: SDIR="./search" LISTEN="127.0.0.1:8080" LOG_LEVEL="debug" MODEL="DB". Поисковая фраза задается в параметре 'q' GET-запроса по пути '/search'. Например: 127.0.0.1:8080/search?q=your%20query.

Результат выводится в HTTP-ответе в виде:

- file1.txt; совпадений - 2
- file2.txt; совпадений - 1