例如: $query = $xs->search->setQuery($keyword); if ($c1) { $query->addRange('c1',$c1,$c2); } if ($d1) { $query->addRange('d1',$d1,$d2); } $query->setMultiSort($sorts); $rs = $query->setLimit($perPage,$start)->search(); $count = $xs->search->getLastCount(); 这时$count不准确,我看过论坛...
另外有时可能会确定筛选的值为某个固定值,比如说筛选价格为500的值,使用addRange('price',500,500)吗?有没更好的写法
[quote='hightman' pid='5447' dateline='1387443918'] addRange 后会影响概率计算,count 会有问题 [/quote] 有什么什么方法能得出相对准确的count呢,数据量小时count没有问题,大的时候差别非常大
我看了论坛上有单独取count(),我在$query->setMultiSort($sort)之前加入,$count = $query->count(),发现这个$count也不太准确,不知道是什么原因
...的 `API` 来完成。 #### 字段值区间搜索 #### 通过 [XSSearch::addRange] 我们可以在搜索中,针对某个字段的值增加区间条件过滤。该方法接受三个参数, 第一参数 `$field` 为字段名称,后面两个参数依次是 `$from` 起始值,`$to` 结束值。...
...通过 [XSSearch::addWeight] 干扰排名权重, 通过 [XSSearch::addRange] 添加字段搜索区间或范围, 通过 [XSSearch::setFuzzy] 开启模糊匹配,以获取更多搜索结果 * 进行必要的搜索结果限定:通过 [XSSearch::setLimit] 设置搜索结果数量和偏...
... = ['BETWEEN', 'chrono', 14918161631, 15918161631]; // 相当于 XSSearch::addRange(...) $condition = ['WEIGHT', 'subject', 'hello', 0.5]; // 相当于额外调用 XSSearch::addWeight('subject', 'hello', 0.5); $query->where($condition); ``` 对于 `hightman\xunsearch\ActiveQuery` 对象,主要支...
... XSSearch addQueryTerm() 增加默认搜索词汇 XSSearch addRange() 添加搜索过滤区间或范围 XSSearch addSearchLog() 添加搜索日志关键词到缓冲区里 XSSearch addWeight() 添加权重索引词 XSSearch close() 关闭连接 XSServer c...