solr自定义评分器
solr服务搭建完成(索引已建立,可以进行搜索)现象: 搜索" 美女"后,“美女美女美女美女”文档会出现第一位。
原因: 文档中关键词出现次数,默认的tf,即文档频率值就大,所以总是出现 在第一们。
但实际系统中可能并不需要 这种结果
这个时候的解决办法:根据自己业务需要进行重写评分器
1. 自定义评分器
package cn.xxt.solr.util;
import org.apache.lucene.search.DefaultSimilarity;
/**
* vtigu评分器
* @authorzhaoguoli
* @version V1.0 2012-11-04
*/
@SuppressWarnings("serial")
public class VtiguSolrSimilarity extends DefaultSimilarity{
public float tf(float freq) {
return 1.0f;
}
public float tf(int freq) {
return 1.0f;
}
}
2. 添加至solr 配置文件 schema.xml
<!-- <similarity class="org.apache.lucene.search.DefaultSimilarity"/> -->
<similarity class="cn.xxt.solr.util.VtiguSolrSimilarity"/>
3. cn.xxt.solr.util.VtiguSolrSimilarity需要放置在 solr.war包中
路径为 WEB-INF/classes/cn/xxt/solr/util/目录下。
4. 重新启动 solr服务即可。
页:
[1]