Solr: Using FunctionQuery in SOLR Sort Syntax

In my project, I got a similar problem likes

http://stackoverflow.com/questions/27701533/using-functionquery-in-solr-sort-syntax

 

I want to sort my documents by a custom score using function

 

sort=div(product(field(score),credit),distance) asc

 

Error:

"error": {
    "msg": "sort param could not be parsed as a query, and is not a field that exists in the index: div(product(field(score),credit),distance)",
    "code": 400
  }

 

 The reason is 'score' is a pseudo field. 
The alternative way is appending a  _val_  which is a hook provided by Solr for  FunctionQuery.
The query parameter 'q' likes
我要一份牛肉面 AND _val_:"product(scale(credit,1,10),recip(geodist(),3,1,0.1))"
 
 
 
 
preferences
http://stackoverflow.com/questions/19874983/use-function-query-for-boosting-score-in-solr
 http://sujitpal.blogspot.jp/2013/03/solr-custom-ranking-with-function.html

 

http://opensourceconnections.com/blog/2014/03/12/using-customscorequery-for-custom-solrlucene-scoring/
http://spykem.blogspot.jp/2013/06/plug-in-external-score-to-solr.html
http://dev.fernandobrito.com/2012/10/building-your-own-lucene-scorer/
http://qaware.blogspot.jp/2014/11/how-to-write-postfilter-for-solr-49.html
http://stackoverflow.com/questions/24384669/solr-introduce-a-custom-field-in-solr-query-response
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值