solr匹配度高的没有排在前面的问题解决,思路记录
1,打开debugQuery,打分值高的在前,但是分词后匹配度高的,分值反而不是最高的
2,分析打分值的制度,idf,tf有关
3,更改源码org.apache.lucene.search.similarities.ClassicSimilarity 的 tf,idf的方法值
4,分词字段指定打分类
<fieldType name="text_smart" class="solr.TextField" positionIncrementGap="100">
<similarity class="org.apache.solr.search.similarities.ClassicSimilarityFactory"></similarity>
<analyzer type="index">
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
<tokenizer class="org.apache.lucene.analysis.cn.smart.HMMChineseTokenizerFactory"/>
</analyzer>
<analyzer type="query">
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
<tokenizer class="org.apache.lucene.analysis.cn.smart.HMMChineseTokenizerFactory"/>
</analyzer>
</fieldType>