Частые обновления документов Solr - проблемы эффективности / масштабируемости

У меня есть индекс Solr с полями документа примерно так:

id, body_text, date, num_upvotes, num_downvotes

В моем приложении документ создается с некоторым целым id и некоторые body_text (не более 500 символов).Дата устанавливается на время ввода, а num_upvotes и num_downvotes начинаются с 0.

Мое приложение дает пользователям возможность голосовать за и против содержания, упомянутого выше, а также Причина, по которой я хочу отслеживать это в Solr, а не только в базе данных, заключается в том, что я хочу иметь возможность учитывать количество положительных и отрицательных голосов в моем поиске .

Это проблема, потому что вы не можете просто обновить документ solr (то есть увеличить количество up_votes), и вы должны заменить весь документ, что, вероятно, довольно неэффективно, учитывая, что потребуется нажать мою БД, чтобы захватить все соответствующие данные опять таки.

Я понимаю, что для решения может потребоваться другая структура данных или, возможно, несколько индексов (хотя я не знаю, можно ли запрашивать / оценивать по ядрам solr).

Может ли кто-нибудь дать рекомендации, как с этим справиться?

5
задан DJSunny 16 November 2011 в 15:25
поделиться