字段配置 [user_id] type = numeric index = self tokenizer = full 用 $search->addRange('user_id',1,20000)->..... 搜索 指定 用户id 范围的内容 addRange区间过滤不起作用 不知道是我配置问题 还是调用方式不对
配置不对,只是区间搜索 index = none 就行了。 addRange()的用法本身没有错。但希望你能附全代码,实在不行可以在 $search->search()之前或之后打印 $search->query 的值看看实际检索条件
区间+排序就会不准。有关贴子已经细说过了,概率统计的原因。 建议用无排序的方式先调用 XSSearch::count 进行统计
从打印结果看得很明显 addRange 没有效果。 这是因为 setQuery() 相当于清除所有查询条件,所以你必须把 addRange, setSort 放在 setQuery 之后 $search->setQuery($q)->setLimit(...)->addRange(...)->setSort();
从打印结果看得很明显 addRange 没有效果。 这是因为 setQuery() 相当于清除所有查询条件,所以你必须把 addRange, setSort 放在 setQuery 之后 $search->setQuery($q)->setLimit(...)->addRange(...)->setSort();
[quote='hightman' pid='336' dateline='1323606756'] 从打印结果看得很明显 addRange 没有效果。 这是因为 setQuery() 相当于清除所有查询条件,所以你必须把 addRange, setSort 放在 setQuery 之后 $search->setQuery($q)->setLimit(...)->addRange(...)->setSort(); [/q...
[quote='hightman' pid='329' dateline='1323313833'] 配置不对,只是区间搜索 index = none 就行了。 addRange()的用法本身没有错。但希望你能附全代码,实在不行可以在 $search->search()之前或之后打印 $search->query 的值看看实际检索条件 [/quote...
字段配置:"use_year"为1-70的整型 [code] [use_year] type = string [/code] 搜索代码: [code] $xs = new XS('data.ini'); $search = $xs->getSearch(); $query = $fields['query']; $from = $fields['from']; $to = $fields['to']; $search->setQuery($query); $search->addRange('use_year'...