solr匹配度高的没有排在前面的问题解决,思路记录

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>

posted @ 2022-03-14 19:06  明晓默  阅读(105)  评论(0编辑  收藏  举报