this module for internal use only. please do not install it
turbofilm-correction
Простой модуль коррекции названий сериалов по словарю.
Модуль задействует нативное апи v8. Дело в том, что полная бд сериалов занимает >100 мб redis-памяти, а в облаках есть только не более 20 мб бесплатной redis-памяти, а хранение словаря в памяти node-аддона занимает около 200 мб оперативной памяти.
Модуль экспериментальный, и написан в худших традициях говнокодинга, но свою задачу он выполняет довольно сносно: поиск по базе даннные сериалов imdb происходит за ~4 секунды.
Установка
npm install turbofilm-correction
апи
var tfc = ;tfc; // Добавляем наименование в словарьtfc; // -> ["house m.d."]
Есть еще один момент.
Поскольку на начало написания еще не было понятно, как это все должно работать, есть две функции, которые используются следующим образом.
tfc; // Расстояние левенштейна между двумя словамиtfc; // Коэффициент дайса
Обе эти функции реализованиы на c++, поэтому выполняются достаточно быстро, но кроме этого, их (или любые другие функции с двумя строковыми аргументами) можно передавать в функцию query следующими за первым параметрами.
tfc // -> [["porno", 0.15, 3],[]...], где 0.15 – коэффициент дайсе, а 3 – расстояние левенштейна.
Тесто
См. test.js