2012-02-28 3 views
0

Мы используем количество серверов с Sphinx в качестве разделенного слоя для обеспечения поиска. Indexer работает от cron независимо для уменьшения потока данных и поиска индексации связи.ThinkingSphinx :: Поиск коллекции с некоторыми свежими данными ActiveRecord

С в соответствии с требованиями, мы должны обеспечить в режиме реального времени на поиск (без каких-либо задержек), поэтому мы решили сохранить Sphinx результат, который reindexes каждые 40 минут и смешать с свежие фактические данные из модели ActiveRecord на основе updated_at колонке, на самом деле не старше 40 мин. Это означает, что мы имеем фактические данные без использования дельта-функциональности (что добавляет некоторую связь).

Вопрос заключается в том, как мы можем объединить ThinkingSphinx :: Результаты поиска и данные ActiveRecord для упорядочивания и разбиения на страницы всего набора данных. Это выполнимо?

ответ

0

Вы должны попробовать real-time indexes.

+0

ли в настоящее время индексы работают с ThinkingSphinx уже? Дмитрий, похоже, у вас нет опыта в этом, просто посмотрите https://github.com/freelancing-god/thinking-sphinx/issues/186 – Anatoly

+0

О, извините, я не обратил внимания на то, что вы используете ThinkingSphinx. Но использование RT-индексов - лучшее решение для вашей задачи, и очень грустно, что эта функция не реализована в ThinkingSphinx. Может быть, вы должны использовать некоторый дельта-индекс и поворачивать его каждый раз, когда появляется новая запись? Я просто не вижу смысла пытаться объединить те вещи, которые вы хотите. –

+1

Я работаю над индексами RT - это не просто переключение вещей. В то же время вам, вероятно, следует взглянуть на поддержку TS для дельта-индексации: http://freelancing-god.github.com/ts/en/deltas.html – pat