...的一个, 我想让下载量等级更高的排在前面: $objQuery->addWeight('downLevel', 'a', 1)->addWeight('downLevel', 'b', 2)->addWeight('downLevel', 'c', 3)->addWeight('downLevel', 'd', 4)->addWeight('downLevel', 'e', 5)->addWeight('downLevel', 'f', 6)->addWeight('downLevel', 'g', 7) ...
搜素之间我加了一句 $search->addWeight('kind','2'); 结果只有kind==2的结果被搜索出来了,这是怎么回事? 我想要的是kind==2的数据排在前面,其他数据排在后面,要怎么实现??
你这样搞太麻烦了 宁可在索引时:$doc->addTerm('downLevel', '1', ord($downLevel) - ord('a') + 1); 然后在搜索时 $search->addWeight('downLevel', '1'); 就可以了。
我用addWeight给文章标题增加权重 但是,刷新看,结果是一会儿加上去了,一会儿又没加上去 这个失败率有点高啊。。。50%左右 需要做什么额外的操作么?
第 2. 点你可以对分类 id 不为 0 的统一在做索引时 $doc->addTerm('cid', 'have') 然后在搜索的时候 $search->addWeight('cid', 'have') 来提权
[quote='hightman' pid='355' dateline='1323925796'] 第 2. 点你可以对分类 id 不为 0 的统一在做索引时 $doc->addTerm('cid', 'have') 然后在搜索的时候 $search->addWeight('cid', 'have') 来提权 [/quote] 呵呵,是的,避开0就行了
非常非常非常感谢hightman,按你的建议修改了代码,实测下来,每条结果的权重值仍然会在比较大的范围内变化(可能是缓存)。
[quote='hightman' pid='1358' dateline='1350873104'] 这不太科学啊,最好给个页面看看。是不是因为缓存? [/quote] 我重启了一下,好了。。。