2009-07-21 5 views
3

Я индекс настроен так, что я могу фасет на категории идентификаторами, следующим образом:Как остановить ThinkingSphinx от запроса базы данных для огранки поля MVA?

define_index 
    ... 

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

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

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

Что здесь происходит? Есть ли какой-либо способ ради производительности, я могу остановить Thinking Sphinx от создания всех этих объектов ActiveRecord? (Могут быть сотни!) Или есть лучший способ добиться этого с помощью Sphinx и Thinking Sphinx?

Спасибо!

+0

freelancing-god.github.com/ts/en/searching.html#ids mail-archive.com/[email protected]/msg06035.html Может быть, это ссылки может помочь тебе. –

ответ

0

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

http://freelancing-god.github.com/ts/en/searching.html#ids