一:自定义score的应用场景
先打个比方,比如新产品上架了,我想让最新上架的产品搜索时候,排在前面,怎么办呢?很简单按时间排序。嗯这种方法很好实现。
但下面又有个需求,比如我要求排序中上架时间的比重为40%,自营产品为20%,促销产品的比重为40%,这怎么排序呢?单单靠排序估计很难实现。(不排除有些大神可以实现哈)。下面就介绍一个简单的实现方法,自定义score
二:自定义score的官方介绍见下面链接,大家有兴趣的可以看看哈
https://www.elastic.co/guide/en/elasticsearch/reference/5.1/query-dsl-function-score-query.html
"script_score":{"script":{"lang":"painless","params":{"param1":value1,"param2":value2},"inline":"_score * doc['my_numeric_field'].value / Math.pow(params.param1, params.param2)"}} 三 : Java API实现自定义score
3.1:自定义field score
TransportClient client =TransportClient.builder().settings(Settings.EMPTY).build()
.addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("localho