我设置了一个索引,因此我可以对类别 ID 进行分面,如下所示:
define_index
...
has categorizings.category_id, :type => :multi, :facet => true
end
当我执行类似 Listing.facets
的查询时,我会在散列中得到正确的结果,每个 category_id 都指向它的计数。 :)
唯一的问题是 Thinking Sphinx 运行数据库查询并加载许多(但不是全部)这些对象!由于此属性只是 MVA 整数;我认为他们不需要任何翻译。
这是怎么回事?为了性能,有什么方法可以阻止 Thinking Sphinx 实例化所有这些 ActiveRecord 对象吗?(可能有数百个!)或者是否有更好的方法使用 Sphinx 和 Thinking Sphinx 来实现这一点?
谢谢!
最佳答案
看起来您可以使用 search_for_ids() 而不是主 search() 入口点,并考虑 sphinx 以仅返回结果的主键而不加载所有对象。
关于ruby-on-rails - 如何阻止 ThinkingSphinx 查询数据库以分面 MVA 字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1161834/