代码之家  ›  专栏  ›  技术社区  ›  Vince

思考狮身人面像:有可能使用属性的复杂逻辑吗?

  •  0
  • Vince  · 技术社区  · 16 年前

    Sphinx Filters - Can I have an 'OR' between filters attributes?

    在我看来,sphinx现在支持或逻辑过滤属性,但是没有办法通过思考sphinx来使用这个特性。

    有没有可能使用任何复杂的逻辑来过滤斯芬克斯思考中的属性?基本上,我要做的是在搜索中指定属性的条件,例如: a OR ((NOT a) AND b)

    ( (attribute_a == true) OR (attribute_a == false AND attribute_b IN [x,y,z]) )

    1 回复  |  直到 9 年前
        1
  •  1
  •   Raghu    15 年前

    对不起,你好

    Model.search “(@field_name1 value1 | value2)(@field_name2 value3 | value4),

    这里“|”等同于或由斯芬克斯和空间是等同于和。

    ([x,y,z]中的(属性a==true)或(属性a==false和属性b)) =>

    Model.search “(@attribute_a 1)| (属性| a 0(属性| b x | y | z)) )", :match_mode => :extended