Ruby on rails 如何为sphinx搜索添加条件?

Ruby on rails 如何为sphinx搜索添加条件?,ruby-on-rails,ruby,sphinx,thinking-sphinx,Ruby On Rails,Ruby,Sphinx,Thinking Sphinx,我最近在ruby on rails应用程序上安装了thinking sphinx。乍一看,一切都很好,我可以搜索单词,它会找到它们。现在,当我尝试添加一些过滤器(例如,省、类别等)时,使用: MyModel.search'hello':条件=>'category\u id=1'例如,它将引发以下异常: searchd错误(状态:1):无效或无效 截断请求 我一直在阅读一些关于thinking sphinx插件的文档,我想我必须做一些其他的事情,而不是这个语法 总结一下:直到现在,我只是安装了wi

我最近在ruby on rails应用程序上安装了thinking sphinx。乍一看,一切都很好,我可以搜索单词,它会找到它们。现在,当我尝试添加一些过滤器(例如,省、类别等)时,使用:

MyModel.search'hello':条件=>'category\u id=1'
例如,它将引发以下异常:

searchd错误(状态:1):无效或无效 截断请求

我一直在阅读一些关于thinking sphinx插件的文档,我想我必须做一些其他的事情,而不是这个语法

总结一下:直到现在,我只是安装了windows服务,然后在一个模型中定义了一个索引,然后尝试搜索。同样,我在无条件搜索时成功,但在有条件搜索时失败

任何帮助都将不胜感激

谢谢,
Brian

假设您的型号
具有类别id

MyModel.search 'hello', :with => {:category_id => 1}
:conditions
用于全文搜索特定属性,
:with
用于过滤搜索结果


更多信息请点击这里:

好的。事实上,我正在研究公告模型,我得到了以下内容:acts_as_taggable_on:tags,:category如果我想在搜索标签时添加一个条件,我应该在公告时的索引中包含什么?另外,你必须知道我没有任何标签模型。我只是简单地拥有db表和acts_as_taggable_on插件,正如我在前面的评论中所说,我在发布模型中使用它。这不是一个简单的问题,请尝试使用“concat(select tags.value where my_model_id=my_models.id)”或类似的方法。您可以传递任意SQL,我的建议是查看sphinx.conf文件中生成的SQL并对其进行反向工程。