我想成立自己的自定义相似性在我的Solr schema.xml中,但我有了解此功能的一些问题。 我想彻底关闭Solr的得分(TF,IDF,坐标和fieldNorm)。
我不知道从哪里开始。 事情我知道
- 我写我自己的DefaultSimilarity实现。
- 重写(TF,IDF,坐标和fieldNorm) - 方法。
- 负载schem.xml类
凡存储类? 有没有在网络的任何工作的例子吗? 我无法找到一个!
谢谢
我想成立自己的自定义相似性在我的Solr schema.xml中,但我有了解此功能的一些问题。 我想彻底关闭Solr的得分(TF,IDF,坐标和fieldNorm)。
我不知道从哪里开始。 事情我知道
凡存储类? 有没有在网络的任何工作的例子吗? 我无法找到一个!
谢谢
I figured it out on my own. I have stored my own implementation of DefaultSimilarity under /dist/ folder in solr. Then i add <lib dir="../../../dist/org/apache/lucene/search/similarities/" regex=".*\.jar"/>
to my solrconfig.xml and everything works fine.
package org.apache.lucene.search.similarities;
import org.apache.lucene.index.FieldInvertState;
import org.apache.lucene.search.similarities.DefaultSimilarity;
public class MyNewSimilarityClass extends DefaultSimilarity {
@Override
public float coord(int overlap, int maxOverlap) {
return 1.0f;
}
@Override
public float idf(long docFreq, long numDocs) {
return 1.0f;
}
@Override
public float lengthNorm(FieldInvertState arg0) {
return 1.0f;
}
@Override
public float tf(float freq) {
return 1.0f;
}
}
Gist: https://gist.github.com/FabianKoestring/7846845