我正在尝试按如下方式创建TS范围:
include ThinkingSphinx::Scopes
sphinx_scope(:status_approved) {
{:conditions => {:status => "approved"}}
}
default_sphinx_scope :status_approved
我的indice文件是:
indexes name, status
has user_id, created_at
两个问题:
我正在使用Rails 3.2.16和TS 3.0.6
答案 0 :(得分:3)
答案 1 :(得分:0)
在进一步研究后回答我自己的问题:
有一个新的'引入TS的功能称为实时指数,它显然解决了这个问题。这在作者的博客http://freelancing-gods.com/中提到过,我还没有尝试过。在任何情况下,我采用了一种不同的路线,它使用默认范围,并在索引中使用过滤。在我的索引文件中,我现在有:
indexes name, status
has user_id, created_at
where "status = 'approved'"
我不再需要在我的模型中定义默认范围。在任何情况下,这仍然需要定期重建索引。