solr使用了Lucene的内核,也继承了Lucene的打分规则,关于Lucene打分规则可以参考如下博客
http://blog.chenlb.com/2009/08/lucene-scoring-architecture.html
Solr内改变打分规则有几种形式:
1.配置solr的solrconfig.xml中edismax,来改变Boost打分规则
2.在solr的schema中增加一个字段,该字段专门用于排序
3.自写一个solr的评分规则。
一般简单的应用1和2就能满足。
举一个例子,电商类网站(比如淘宝)的商品搜索:
1.在商品名称上出现搜索关键字排序靠前,而内容的次之
2.对多皇冠的买家排序靠前等
3.对近期发布的商品排序靠前
4.对最近销售多商品靠前
综上获得一个综合排名
在solrconfig.xml的SearchHandler中如下配置
<requestHandler name="standard" class="solr.StandardRequestHandler" default="true" >
<lst name="defaults">
<str name="echoParams">explicit</str>
<str name="rows">10</str>
<str name="hl">on</str>
<str name="hl.fl">name,content</str>
<str name="f.content.hl.fragsize">200</str>
<str name="defType">edismax</str>
<str name="bf">
sum(recip(ms(NOW,pub_date),1,1,100),div(point,5632000),div(sale_count,1000000))
</str>
<str name="pf">
content
</str>
<str name="qf">
name^1.9
</str>
</lst>
</requestHandler>
bf用函数计算某个字段的权重,如上例子中pub_date发布日期的权重,point比如诚信指数,sale_count销售数量
bf内字段必须是索引的,bf的函数查看solr api文档 http://wiki.apache.org/solr/FunctionQuery
pf查询字段,这样在schema不用制定默认字段
qf对默认查询增加权重比值,比如标题是content的1.9倍,值越大权重越大
这样查询就会计算如下的一个综合评分值了
对于其他排序,比如说价格排序,在schema增加price字段,然后查询是增加sort=price desc就可以了
solr这种排序方式,已经在我的诚交网易货商品搜索里实现,效果还算不错。
分享到:
相关推荐
通过solr实现电商搜索排名打分,排序,可自定义打分规则
基于solr-geo空间搜索 1、Solr的schema.xml配置 定义坐标field 2、Solr的data-config.xml配置 建立索引 3、java查询语法 坐标距离、分页、排序
ES和solr都是基于Lucence的搜索框架,文档比较2中方案适合的不同场景和优劣
solr搜索引擎,solr介绍什么是solr搜索引擎,操作实例
Solr 是一个可供企业使用的、基于 Lucene 的开箱即用的搜索服务器。
更重要的是,Solr 创建的索引与 Lucene 搜索引擎库完全兼容。 通过对 Solr 进行适当的配置, 某些情况下可能需要进行编码,Solr 可以阅读和使用构建到其他 Lucene 应用程序中的索引。此 外,很多 Lucene 工具(如 Nutch、...
solr搜索服务器安装配置--资料备份
1.学员操作手册-Solr搜索自动补全 2.solr实训教程.doc 3.积分商城基于Solr的搜索引擎优化.pdf 4.基于Solr的搜索引擎优化讲义.pdf 5.课程大纲-基于搜索引擎培训.doc 6.学员操作手册-Solr数据库插入索引.doc 7.学员...
类似京东,淘宝搜索自动补全功能。通过suggest.js插件来完成功能开发。
solr搜索引擎支持分页 有问题可以QQ(271287607)
sorl搜索引擎安装与文件,Solr 是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务器。Solr提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展,并对索引、搜索性能进行了优化。
apache solr搜索系统的.Net实现
NULL 博文链接:https://ldcsunnyboy.iteye.com/blog/1113251
solr搜索引擎最新安装包。solr是比较常用的企业级搜索引擎。
介绍了Solr5.5内部使用的分词原理,有助于开发者自定义自己的分词器时掌握分词的基础知识。
Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http G Solr et操作提出查找请求,并得到XML...
Solr是一个拥有象WebService一样接口的独立运行的搜索服务器。它是基于lucene搜索引擎的服务,你将能够通过HTTP协议以XML格式将文档放入搜索服务器(这个过程叫做索引),你能够通过HTTP协议的GET来查询搜索服务器并且...
solr配置搜索引擎平台 一、 SOLR搭建企业搜索平台 二.... 三,,,,
tomcat7下实现solr4.3的部署与配置,配置中文服务器。通过solrj实现索引的创建,修改,删除,查询。并实现httpclienct创建、修改索引,检索信息等。
lucene和solr搜索引擎介绍ppt,很不错哟,共44页,是熟悉lucene的绝好资料。