实时sphinx搜索属性的min-max值

时间:2013-10-10 12:25:30

标签: php real-time sphinx

我们的实时狮身人面像表中有一个名为' price'的属性,并希望允许用户在进行搜索时为此定义最小值和最大值。虽然看起来没有办法只定义其中一个参数,至少不是我能找到的。

然后,当没有设置时,通过设置荒谬的maxvalue,代码会变得有点丑陋。此示例中的类值只是收集的$ _GET变量。

所以问题是,如何让过滤器只定义一个最小值,最大值而不是两者?

if($this->_priceRangeMin > 0 || $this->_priceRangeMax > 0)
    {
        if(($this->_priceRangeMin > 0) === false )
            $this->_priceRangeMin = 0;
        if(($this->_priceRangeMax > 0) === false )
            $this->_priceRangeMax = 4294967295;
    }
$s->SetFilterRange('price', $this->_priceRangeMin, $this->_priceRangeMax);

1 个答案:

答案 0 :(得分:0)

你得到的代码有什么问题?它的工作原理不是吗?

如果你真的只想使用不等式过滤器而不是范围,可以使用SphinxQL来进行查询。但是怀疑它会为你节省一切。