2

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

我在数据库中的对象有一个开始和结束日期,我可以filter(starting_date, x, y)filter(ending_date,x,y),但是两个过滤器都必须返回 true 才能给我带来对象,我怎么能说狮身人面像过滤这个属性,或者那个?

4

3 回答 3

6

在 Sphinx 论坛上提问和回答。

仅在 0.9.9 中可用,使用 SetSelect。

http://sphinxsearch.com/forum/view.html?id=3577

于 2009-05-15T22:39:39.887 回答
2

没有办法OR在 Sphinx 中的不同属性之间建立逻辑。通常,有两种可能的解决方法:

  1. 拥有一个多值属性,其中包含要匹配的两组值 - 并过滤值数组。
  2. 如果每次都是相同的 OR 逻辑,则将其组合成一个布尔属性,让 SQL 语句完成最初的艰苦工作。

但是,使用时间戳会使事情变得更加困难-此时 MVA 仅适用于整数……您是在特定时间发生的所有对象之后吗?或者是其他东西?

于 2009-05-15T20:40:11.187 回答
1

狮身人面像用途 | 对于或

如“黑色”或“白色”将是“黑色”| “白色” http://www.sphinxsearch.com/docs/manual-0.9.9.html#boolean-syntax

于 2009-05-15T16:51:18.040 回答