0

我们的实时 sphinx 表中有一个名为“价格”的属性,并希望允许用户在进行搜索时为此定义最小值和最大值。看起来,没有办法只定义这些参数之一,至少我找不到。

然后,当没有设置一个荒谬的最大值时,代码会得到一些丑陋的解决方案。此示例中的类值只是收集的 $_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);
4

1 回答 1

0

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

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

于 2013-10-11T02:43:38.827 回答