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服務即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章