Как мне остановить ThinkingSphinx от запроса базы данных для огранки поля MVA? - PullRequest
3 голосов
/ 22 июля 2009

У меня настроен индекс, чтобы я мог фасетировать идентификаторы категорий следующим образом:

define_index
  ...

  has categorizings.category_id, :type => :multi, :facet => true
end

Когда я делаю запрос, подобный Listing.facets, я получаю правильные результаты в хэше, где каждый category_id указывает на его счет. :)

Единственная проблема - Thinking Sphinx выполняет запрос к базе данных и загружает многие (но не все) из этих объектов! Поскольку этот атрибут является просто целыми числами MVA; Я не думаю, что им потребуется какой-либо перевод.

Что здесь происходит? Есть ли какой-нибудь способ ради производительности, я могу остановить Thinking Sphinx от создания экземпляров всех этих объектов ActiveRecord?

Спасибо!

1 Ответ

0 голосов
/ 21 февраля 2011

Похоже, что вы можете использовать search_for_ids () вместо главной точки поиска search () с думающим сфинксом, чтобы вернуть только первичные ключи для ваших результатов и не загрузить все объекты.

http://freelancing -god.github.com / ц / о / searching.html # Идентификаторы

...