Компилятор файлов aot-словаря русской морфологии в оптимизированный для быстрого поиска бинарный формат.
Документация расположена в оригинальном репозитории aot.
количество морфологий
морфология
...
морфология
количество строк
строка
...
строка
количество лемм
(индекс строки, индекс морфологии) (индекс строки, индекс морфологии)... (индекс строки, индекс морфологии) (индекс строки, индекс морфологии)
(индекс строки, индекс морфологии) (индекс строки, индекс морфологии)... (индекс строки, индекс морфологии) (индекс строки, индекс морфологии)
...
(индекс строки, индекс морфологии) (индекс строки, индекс морфологии)... (индекс строки, индекс морфологии) (индекс строки, индекс морфологии)
количество хешей (коллизии проверяются в рантайме, нет смысла отделяеть их во время компиляции, т. к. могут быть и внешние коллизии)
хеш, индекс леммы, индекс леммы
хеш, индекс леммы, индекс леммы, индекс леммы
хеш, индекс леммы, индекс леммы, индекс леммы, индекс леммы
...
хеш, индекс леммы, индекс леммы, индекс леммы
Для проверки результатов выводится статистика.
Эталонные результаты компиляции должны быть такие:
Compilation [1..4]
1. Morphology (579)
2. Strings (3039129)
3. Lemma indexes (174628)
4. Flexion hashes (3034914)
Execute ./gradlew clean build
. Your jar will be located at ./build/libs
with -all.jar
postfix. Now you can compile
morphology:
java -jar aot-binary-all.jar
Execute docker build . -t aot-binary
. Your image will be located at docker images -a
. Now you can compile
morphology:
docker run -v `pwd`:`pwd` -w `pwd` -it --rm aot-binary