背景:项目需要solr默认的评分方式,不符合,需要进行调整。开始的时候以为要重写算法自定义评分规则,吓了一大跳,后来只是要求调整成bm25模式。松了一大口气,找找资料,搞定。
首先:参照http://blog.csdn.net/duck_genuine/article/details/6257540,找到需要修改的配置项collection1/conf/schema.xml里的结尾处
<!--
<similarity class="com.example.solr.CustomSimilarityFactory">
<str name="paramkey">param value</str>
</similarity>
-->
第二步:找到bm25模式相关的核心类(开始以为solr里面没有,在网上下载jar包,结果下了个lucence版本,一直报错。后来同事翻墙找到的网页资料
http://lucene.472066.n3.nabble.com/BM25-model-for-solr-4-tp4020400p4020411.html,确定solr的核心solr-core-4.5.0.jar包里已经有bm25相关了。用winrar查看jar包结构后,将核心编译后的类写入配置文件)
<similarity class="org.apache.solr.search.similarities.BM25SimilarityFactory">
<str name="paramkey">param value</str>
</similarity>
第三步:重启tomcat,重建solr索引,ok了。
solr使用过程中的各种积累中...