SOLR ngram搜索-排序顺序

时间:2019-03-14 23:04:50

标签: solr

我正在使用solr搜索来搜索我的用户名。我使用ngramfilterfactory进行索引,以便它搜索子字符串。但是,准确的单词匹配项得分不高于子字符串匹配项。

例如;我有两个用户名: Sara123 我是Sara 。当我搜索 Sara 时,所有这些文档都应返回,但“ I Am Sara”应是结果集中的第一个文档,因为Sara完全匹配其中一个单词。我有这个问题。感谢任何指针!

我正在使用SOLR 3.5,我的schema.xml具有以下相关条目:

<fieldType name="usernames" class="solr.TextField"  positionIncrementGap="1">
  <analyzer type="index">
    <tokenizer class="solr.WhitespaceTokenizerFactory" />
    <filter class="solr.WordDelimiterFilterFactory"
                generateWordParts="1"
                generateNumberParts="1"
                catenateWords="1"
                catenateNumbers="1"
                catenateAll="0"
                preserveOriginal="1"
                />
    <filter class="solr.NGramFilterFactory"  minGramSize="3" maxGramSize="200"/>
    <filter class="solr.LowerCaseFilterFactory" />
  </analyzer>
  <analyzer type="query">
    <tokenizer class="solr.WhitespaceTokenizerFactory"/>
    <filter class="solr.LowerCaseFilterFactory" />
  </analyzer>
</fieldType>

0 个答案:

没有答案