У меня есть индекс Solr с полями документа примерно так:
id, body_text, date, num_upvotes, num_downvotes
В моем приложении документ создается с некоторым целым id
и некоторые body_text
(не более 500 символов).Дата устанавливается на время ввода, а num_upvotes
и num_downvotes
начинаются с 0.
Мое приложение дает пользователям возможность голосовать за и против содержания, упомянутого выше, а также Причина, по которой я хочу отслеживать это в Solr, а не только в базе данных, заключается в том, что я хочу иметь возможность учитывать количество положительных и отрицательных голосов в моем поиске
.
Это проблема, потому что вы не можете просто обновить документ solr (то есть увеличить количество up_votes), и вы должны заменить весь документ, что, вероятно, довольно неэффективно, учитывая, что потребуется нажать мою БД, чтобы захватить все соответствующие данные опять таки.
Я понимаю, что для решения может потребоваться другая структура данных или, возможно, несколько индексов (хотя я не знаю, можно ли запрашивать / оценивать по ядрам solr).
Может ли кто-нибудь дать рекомендации, как с этим справиться?