我的solr webrequest看起来像这样
http://XXX.XX.XX.XX:8080/search/select?q=bay 城市&安培; DEFTYPE = dismax&安培; QF =屏幕名^ 10 + screenname1 ^ 100.0 +评论^ 50 + tagwords ^ 10 + spottype ^ 40 + spotscene ^ 50 + spotscenecategory ^ 50&安培; BQ = locationid:22878 ^ 40&安培;毫米= 1&安培;开始= 0安培;行= 40reccount desc& fq = locationid:22878或 查询:“{!bbox}”& sfield = location& pt = 34.0194543,-118.4911912& d = 8& fl = profileid,screenname1,reccount,score,locationid& sort = score 降序
我在这里使用& sort = score desc
现在看起来像@sort=sum(log(popularity),score) desc
但我这样使用它给我错误
sort param无法解析为查询,也不是索引中存在的字段:sum(log(popular),score)
答案 0 :(得分:2)
我认为,问题是score
是伪字段而不是实际索引的字段。也许您可以尝试使用相关性函数代替score
(如果您使用的是Solr 4.0)。但是,我认为你要做的是根据popularity
提升得分。在这种情况下,你想看看这里:
http://wiki.apache.org/solr/SolrRelevancyFAQ#How_can_I_change_the_score_of_a_document_based_on_the_.2Avalue.2A_of_a_field_.28say.2C_.22popularity.22.29
答案 1 :(得分:2)
我有同样的问题, 我用这个解决了这个问题:
& sort =得分desc,sum(log(流行度))