0

在我的数据集中,“ITS”这个词的意思是“信息技术服务”。但是,当我在 solr 中搜索“ITS”时,会得到“it”、“it's”和“its”(形容词)之类的结果。没有与“信息技术服务”相关的结果。为此,我该如何更改 Solr?

下面列出了我的归档模式。我实际上使用两个字段。一个有词干,另一个没有词干。但它仍然不起作用。

<fieldType name="text" class="solr.TextField"
            positionIncrementGap="100">
            <analyzer>
                <tokenizer class="solr.WhitespaceTokenizerFactory"/>
                <filter class="solr.StopFilterFactory"
                    ignoreCase="true" words="stopwords.txt"/>
                <filter class="solr.WordDelimiterFilterFactory"
                    generateWordParts="1" generateNumberParts="1"
                    catenateWords="1" catenateNumbers="1" catenateAll="0"
                    splitOnCaseChange="1"/>
                <filter class="solr.LowerCaseFilterFactory"/>
                <filter class="solr.EnglishPorterFilterFactory"
                    protected="protwords.txt"/>
                <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
            </analyzer>
        </fieldType>

    <!-- for no stemming -->
<fieldType name="text_no_stemming" class="solr.TextField"
    positionIncrementGap="100">
    <analyzer>
        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
        <filter class="solr.StopFilterFactory"
            ignoreCase="true" words="stopwords.txt"/>
        <filter class="solr.WordDelimiterFilterFactory"
            generateWordParts="1" generateNumberParts="1"
            catenateWords="1" catenateNumbers="1" catenateAll="0"
            splitOnCaseChange="1"/>
        <filter class="solr.LowerCaseFilterFactory"/>                
        <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
    </analyzer>
</fieldType>
4

1 回答 1

1

您没有让 Solr 知道 ITS 是“信息技术服务”的同义词。你需要先这样做,检查SynonymFilter

于 2012-10-16T08:19:24.710 回答