关于Solr评分修改
来源:互联网 发布:梯形螺纹加工编程实例 编辑:程序博客网 时间:2024/04/29 11:29
solr要修改打分机制怎么改?
大多数回答:Similarity是个不错的方案.
但是具体怎么弄很少有明确的描述,官方wiki也只是说可以自定义,具体如何做,没有例子.
首先,solr4.0本身提供了多种评分方法:
org.apache.solr.search.similarities.BM25SimilarityFactory
org.apache.solr.search.similarities.DefaultSimilarityFactory
org.apache.solr.search.similarities.DFRSimilarityFactory
org.apache.solr.search.similarities.IBSimilarityFactory
org.apache.solr.search.similarities.LMDirichletSimilarityFactory
org.apache.solr.search.similarities.LMJelinekMercerSimilarityFactory
org.apache.solr.search.similarities.SchemaSimilarityFactory
每一个有什么不同不在今天讨论范围内,说下怎么配置.
schema.xml
<field name=”bm25_test” type=”text_bm25″ indexed=”true” stored=”true” required=”false” multiValued=”true”/>
<fieldType name=”text_bm25″ class=”solr.TextField”>
<similarity class=”solr.BM25SimilarityFactory”>
</similarity>
</fieldType>
</types>
<similarity class=”solr.SchemaSimilarityFactory”/>
</schema>
bm25_test字段就会按照BM25SimilarityFactory机制评分.那么如何进一步自定义呢,不废话看代码:
package org.nlp.lucene.search.similarities;
import org.apache.lucene.search.similarities.Similarity;
import org.apache.solr.schema.SimilarityFactory;
public class NlpSimilarityFactory extends SimilarityFactory {
public Similarity getSimilarity() {
return new NlpSimilarity();
}
}
package org.nlp.lucene.search.similarities;
import org.apache.lucene.search.similarities.DefaultSimilarity;
public class NlpSimilarity extends DefaultSimilarity {
@Override //idf值全部为1.0f
public float idf(long docFreq, long numDocs) {
return 1.0F;
}
@Override //tf值全部为1.0f
public float tf(float freq) {
return 1.0F;
}
@Override
public String toString() {
return “nlpSimilarity”;
}
}
SimilarityFactory照葫芦画瓢就是,NlpSimilarity可以重写哪些方法看一下DefaultSimilarity就好,当然BM25SimilarityFactory这些都是可以搞的,自己看着办吧,哥只能帮你到这里了.
什么,怎么确定评分的修改是否生效?
查询的时候加上参数debug=true就好.
- 关于Solr评分修改
- Solr评分修改
- solr 评分机制
- solr评分机制
- Solr评分排序机制
- solr 相关度评分,自定义评分
- Lucene/solr的评分公式
- solr 自定义函数 评分函数
- Solr通过edismax提升评分并打印评分规则
- php solr指定bm25模式评分
- SOLR中实现自定义评分函数FunctionQuery
- 关于solr
- 关于solr
- 关于solr
- 关于Fico信用评分
- solr 修改打分策略
- solr初用 修改配置
- 修改solr访问路径
- 一只小蜜蜂
- uva 748 Exponentiation
- 两个数相乘,小数点后位数没有限制,请写一个高精度算法
- 华为公司2014届校园招聘软件类上机考试样题 .
- ucos代码分析(一):任务创建及系统任务
- 关于Solr评分修改
- 明白自己想要的,不要盲目读研
- 设计模式读书笔记-----享元模式
- iOS开发者必备:六大图片、图标处理类工具
- 找出一个字符串中最长的数字串输出
- C/C++ 数据范围
- linux 0.11源码 内存管理 memory.c
- EJB分布式工作原理
- 关于逆波兰式