2010-09-22 72 views
2

我想知道我怎么能结合起来思考狮身人面像思维狮身人面像结合:与参数

的结果集我有以下查询:

Model.search :with => {:attribute_1 => id} 

,我想用相结合:

Model.search :with => {:attribute_2 => id} 

有没有一个简单的方法来做到这一点只有一个搜索?我可以添加数组,但这似乎不是一个好的解决方案。如果我结合过滤器是这样的:

Model.search :with => {:attribute_1 => id, :attribute_2 => id} 

结果都是交点处的两个滤波器的,这是不期望的输出。有没有办法对过滤器进行OR操作?

回答

4

这实际上归结为Sphinx中的限制 - 在引用过滤器中的属性时没有ORs的概念。

也许你可以将两个属性结合在一起?

has [attribute_1, attribute2], :as => :attr_1_and_2 
+0

,我认为这正是: - :那么下面将工作与值的阵列,也许

Model.search :with => {:attr_1_and_2 => id} 

在模型中,如果你处理的单值,这肯定会工作我在寻找。谢谢你的提示! – 2010-09-22 10:22:42

+0

优秀的解决方案! – 2013-08-21 12:13:58