`

solr自定义评分器

    博客分类:
  • solr
 
阅读更多

solr服务搭建完成(索引已建立,可以进行搜索)

现象: 搜索" 美女"后,“美女美女美女美女”文档会出现第一位。

原因: 文档中关键词出现次数,默认的tf,即文档频率值就大,所以总是出现 在第一们。

但实际系统中可能并不需要 这种结果 

 

这个时候的解决办法:根据自己业务需要进行重写评分器

 

1.   自定义评分器

 

package cn.xxt.solr.util;

import org.apache.lucene.search.DefaultSimilarity;

/**
 * vtigu评分器
 * @author  zhaoguoli
 * @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服务即可。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics