Мышление Сфинкс - Как сказать ему, чтобы использовать ActiveRecord «включить» функцию, чтобы избежать вспомогательных поисков SQL? - PullRequest
0 голосов
/ 21 сентября 2011

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

Если бы я просто использовал ActiveRecord, я мог бы использовать функцию «включить» для извлечения этих связанных записей как части исходного поискового запроса, например:

Booking.find_all_by_date (Date.today, : include => [: событие,: органайзер,: сеансы] )

Но я не уверен, как это реализоватьоптимизация производительности в ThinkingSphinx, кто-нибудь решил эту проблему?

1 Ответ

3 голосов
/ 21 сентября 2011

Вы делаете это точно так же - используйте :include, он будет передан в базовый запрос ActiveRecord, когда Thinking Sphinx преобразует результаты Sphinx в объекты ActiveRecord.

...