на большом потоке векторов для каждого в цикле делать поиск вектора по БД (пара миллионов векторов) и если похожесть ниже порога делать вставку этого вектора в БД (так, чтобы уже следующий поиск мог найти этот вектор), а спустя какое-то время делать удаление устаревших (по ttl или просто по запросу)? Получилось, что:
Redis с модулем redisearch 2.8 в сутки порядка 25 млн таких циклов вытягивает, но через пару дней стабильно наглухо зависает (даже redis-cli висит не может подключиться);
qdrand 2,5 млн в сутки и сильно iops ssd тратит (бездискового режима у него нет);
milvus тоже далеко не быстр в режиме консистентности Session или Strict и с тремя докер контейнерами выглядит совсем уж overkill для такой задачи — что еще можно попробовать?
Здорово! А бездисковый режим у неё есть? Умеет n-gram поиск делать, чтобы наиболее похожие предложения находились? Какие основные подводные камни из опыта?
n-граммный поиск умеет, это классика же. Насчет бездискового режима есть rt индексы, которые лежат в оперативке, как и у сфинкса, если вы такой режим имеете ввиду.
На 10 Тб текса сколько кластеров мантикора посоветуйте?
Обсуждают сегодня