发表回复 
 
主题评价:
  • 0 次(票) - 平均星级: 0
  • 1
  • 2
  • 3
  • 4
  • 5
addweight
2014年12月04日, 10:02
addweight
各位好,

我有个字段“downLevel”表示下载量等级,
[downLevel]
index = self

值是“a~g”中的一个,
我想让下载量等级更高的排在前面:
$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)

调试发现查询语句有这么一段:
...AND_MAYBE 2 * Nb) AND_MAYBE 3 * Nc) AND_MAYBE 4 * Nd) AND_MAYBE 5 * Ne) AND_MAYBE 6 * Nf) AND_MAYBE 7 * Ng))

但是问题是,addWeight有时有效,有时失效,重启服务器也没有解决,
希望大家提供解决方案,先谢过了。
查找这个用户的全部帖子
引用并回复
2014年12月04日, 16:50
RE: addweight
你这样搞太麻烦了
宁可在索引时:$doc->addTerm('downLevel', '1', ord($downLevel) - ord('a') + 1);
然后在搜索时
$search->addWeight('downLevel', '1'); 就可以了。
查找这个用户的全部帖子
引用并回复
2014年12月05日, 14:51
RE: addweight
非常非常非常感谢hightman,按你的建议修改了代码,实测下来,每条结果的权重值仍然会在比较大的范围内变化(可能是缓存)。
查找这个用户的全部帖子
引用并回复
发表回复 


论坛跳转:


正在浏览该主题的用户: 1 个游客