lilingjie2015 发表于 2016-12-15 07:21:52

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]
查看完整版本: solr自定义评分器