У нас очень большая база данных из 30 с лишним миллионов продуктов, и нам нужно запрашивать их, чтобы создавать результаты поиска и показывать объявления тысячи раз в секунду.Мы рассматривали Sphinx, Solr, Lucene и Elastic как варианты для выполнения этих постоянных массовых поисков.
Вот что нам нужно сделать.Возьмите ключевые слова и проведите их через базу данных, чтобы найти продукты, которые соответствуют наиболее близким.Мы собираемся использовать наш собственный алгоритм, чтобы решить, какие продукты больше всего связаны с таргетингом на нашу рекламу, но мы знаем, что у этих механизмов уже есть свои собственные алгоритмы релевантности.
Итак, наш вопрос в том, как мы можем использоватьнаши собственные алгоритмы поверх движка, эффективно.Можно ли добавить их к самим двигателям в виде какого-то модуля?Или мы должны были бы переписать код релевантности движка?Я предполагаю, что мы могли бы реализовать алгоритм из приложения, выполнив несколько запросов, но это действительно убило бы эффективность.
Кроме того, мы хотели бы знать, какое решение для поиска будет работать лучше для нас.Прямо сейчас мы склоняемся к Sphinx, но на самом деле не уверены.
Кроме того, вы бы порекомендовали запускать эти движки через MySQL или было бы лучше запускать их в каком-либо хранилище значений ключейкак Кассандра?Имейте в виду, что существует 30 миллионов записей, и они могут удвоиться по мере нашего продвижения.
Спасибо за ваши ответы!