Как вы думаете, Reddit обрабатывает переиндексацию своих постов, чтобы держать их в порядке? - PullRequest
3 голосов
/ 08 июля 2010

Я не могу представить, что это индексирование за голос.Это приведет к ненадлежащим нагрузкам на сервер.

Я упоминаю об этом, потому что пытаюсь сделать что-то похожее в моем проекте и не могу понять, как лучше всего индексировать объекты после того, как за них проголосовали.Я использую Sunspot-Solr.

Ответы [ 4 ]

4 голосов
/ 08 июля 2010

Ну, я не могу сказать наверняка, но это проект с открытым исходным кодом. http://code.reddit.com/

3 голосов
/ 22 июля 2010

Я знаю, что опоздал, но сегодня Reddit исправил их поиск таким образом, чтобы пролить новый свет на ваш вопрос.Ответ заключается в том, что поисковые системы, такие как Solr, не могут справляться с частыми обновлениями, такими как Reddit.Они используют IndexTank сейчас, и это определенно работает!(да, я разработчик IndexTank)

1 голос
/ 08 февраля 2011

На самом деле они индексируются один раз за голос.

Мы разработали новый поиск (используя IndexTank) для обновления upvotes / downvotes / user karma при каждом его изменении.

Хорошая вещь о indextankзаключается в том, что он позволяет обновлять переменные документа (числовые), влияющие на систему оценки, без необходимости переиндексации текстовых данных.Это позволяет индексу оставаться быстрым даже при огромном количестве (переменная документа) обновлений.

1 голос
/ 16 августа 2010

Я думаю, что если вы хотите влиять на результаты поиска с помощью подсчета голосов, вы можете, но вам нужно делать это в автономном режиме / с задержкой.Я думаю, что чем меньше «реального времени» вы окажете на результаты поиска, тем лучше Solr будет работать с ним, поэтому Reddit - плохой вариант использования.Просто обновляйте голосование каждые 6, 12 или 24 часа и делайте это только для тех документов, за которые проголосовали.В какой-то момент вы сможете обновить только часть документа Solr, это поможет!

...