Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 斯芬克斯过滤器-我可以要一个';或';在过滤器属性之间?_Database_Search_Sphinx - Fatal编程技术网

Database 斯芬克斯过滤器-我可以要一个';或';在过滤器属性之间?

Database 斯芬克斯过滤器-我可以要一个';或';在过滤器属性之间?,database,search,sphinx,Database,Search,Sphinx,我正在使用sphinx从我的数据库中列出一些项目。 这几乎是100%,我只是还没有弄清楚如何在两个不同的过滤器之间创建或。例如: 我在数据库中的对象有一个开始日期和一个结束日期,我可以过滤(开始日期,x,y)和过滤(结束日期,x,y),但这两个过滤器都必须返回true才能为我提供对象,我怎么说sphinx过滤这个属性,还是那个属性?sphinx使用|作为或 正如在“黑”或“白”中一样,“黑”是“白” 斯芬克斯中的不同属性之间不可能有或逻辑。通常,有两种可能的解决办法: 具有一个多值属性,该属性包

我正在使用sphinx从我的数据库中列出一些项目。 这几乎是100%,我只是还没有弄清楚如何在两个不同的过滤器之间创建
。例如:

我在数据库中的对象有一个开始日期和一个结束日期,我可以
过滤(开始日期,x,y)
过滤(结束日期,x,y)
,但这两个过滤器都必须返回true才能为我提供对象,我怎么说sphinx过滤这个属性,还是那个属性?

sphinx使用|作为或

正如在“黑”或“白”中一样,“黑”是“白”

斯芬克斯中的不同属性之间不可能有
逻辑。通常,有两种可能的解决办法:

  • 具有一个多值属性,该属性包含要匹配的两组值,并对值数组进行筛选
  • 如果每次都是相同的OR逻辑,那么将其组合成一个布尔属性,让SQL语句完成最初的艰苦工作

  • 不过,使用时间戳会让事情变得更加困难-此时MVA仅适用于整数。。。你是在寻找在特定时间发生的所有物体吗?还是别的什么?

    在斯芬克斯论坛上询问并回答

    只能在0.9.9中使用SetSelect


    在筛选属性值时可以使用,但我需要筛选一个或另一个属性。谢谢!你的回答节省了我很多时间!我从未想过可以通过设置Select valuesCorrection进行过滤:正如Ben所指出的,这在Sphinx中是可能的,可以使用Select选项。