这个问题在某种程度上与另一个问题相关:Sphinx Filters - Can I have an 'OR' between filters attributes?
在我看来,sphinx 现在已经支持 OR 逻辑来过滤属性,但是没有办法通过思考 sphinx 来使用该功能。
是否可以使用任何复杂的逻辑来过滤思考狮身人面像中的属性?基本上,我要做的是在搜索中指定属性的条件,例如:a OR ((NOT a) AND b)
,我会像这样使用它:
( (attribute_a == true) OR (attribute_a == false AND attribute_b IN [x,y,z]) )
或者类似的东西。问题是,如果我没记错的话, :with 和 :without 都需要一个散列,并用 AND(或 AND NOT)连接每个条件。