Database 斯芬克斯过滤器-我可以要一个';或';在过滤器属性之间?
我正在使用sphinx从我的数据库中列出一些项目。 这几乎是100%,我只是还没有弄清楚如何在两个不同的过滤器之间创建Database 斯芬克斯过滤器-我可以要一个';或';在过滤器属性之间?,database,search,sphinx,Database,Search,Sphinx,我正在使用sphinx从我的数据库中列出一些项目。 这几乎是100%,我只是还没有弄清楚如何在两个不同的过滤器之间创建或。例如: 我在数据库中的对象有一个开始日期和一个结束日期,我可以过滤(开始日期,x,y)和过滤(结束日期,x,y),但这两个过滤器都必须返回true才能为我提供对象,我怎么说sphinx过滤这个属性,还是那个属性?sphinx使用|作为或 正如在“黑”或“白”中一样,“黑”是“白” 斯芬克斯中的不同属性之间不可能有或逻辑。通常,有两种可能的解决办法: 具有一个多值属性,该属性包
或。例如:
我在数据库中的对象有一个开始日期和一个结束日期,我可以过滤(开始日期,x,y)
和过滤(结束日期,x,y)
,但这两个过滤器都必须返回true才能为我提供对象,我怎么说sphinx过滤这个属性,还是那个属性?sphinx使用|作为或
正如在“黑”或“白”中一样,“黑”是“白”
斯芬克斯中的不同属性之间不可能有或逻辑。通常,有两种可能的解决办法:
具有一个多值属性,该属性包含要匹配的两组值,并对值数组进行筛选
如果每次都是相同的OR逻辑,那么将其组合成一个布尔属性,让SQL语句完成最初的艰苦工作
不过,使用时间戳会让事情变得更加困难-此时MVA仅适用于整数。。。你是在寻找在特定时间发生的所有物体吗?还是别的什么?在斯芬克斯论坛上询问并回答
只能在0.9.9中使用SetSelect
在筛选属性值时可以使用,但我需要筛选一个或另一个属性。谢谢!你的回答节省了我很多时间!我从未想过可以通过设置Select valuesCorrection进行过滤:正如Ben所指出的,这在Sphinx中是可能的,可以使用Select选项。