Covariance / jb-dictionary

Small application that allows user to quickly search for words in the provided dictionary.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Словарь

О самом словаре

Используется словарь отсюда.

Приложение очень легко перенастроить на другой словарь — достаточно запустить скрипт и указать ему путь до файла со словарём. Скрипт генерирует разбиение словаря на меньшие файлы, каждый из которых содержит только слова, начинающиеся на одну букву. Именно с таким форматом словаря работает приложение — это сделано для того, чтобы не загружать весь файл в оперативную память.

Возможное улучшение: достаточно большие файлы можно разбивать на большее количество файлов, например, и по второй букве тоже. При таком подходе при загрузке приложения надо построить схему расположения файлов.

А теперь о поиске

Каждое нажатие на клавишу при печати в строке поиска интерпретируется как отдельный запрос. При необходимости, в память перезагружается файл словаря (если первая буква запроса не совпадает с предыдущим запросом).

Затем в загруженном файле при помощи бинпоиска находится первая строка не меньше искомой в лексикографическом порядке, затем в результаты поиска выводятся все строки, для которых искомая является префиксом.

Но как мне это запустить?

Сборка проекта реализована при помощи системы сборки Apache Maven. Собрать приложение в .jar файл со всеми зависимостями и ресурсами модно командой mvn package, которая создаст в папке target исполнимый файл jb-dictionary-jar-with-dependencies.jar. Его, в свою очередь, можно запустить командой java -jar target/jb-dictionary-jar-with-dependencies.jar.

ВАЖНО: проект собран под Java 14. Для запуска по вышеописанной схеме необходимо иметь установленный в системе maven и JDK для Java версии 14 или выше.

About

Small application that allows user to quickly search for words in the provided dictionary.


Languages

Language:Java 83.2%Language:Python 16.8%