如何在Solr中搜索“信息技术服务”的缩写词“ITS”

时间:2012-10-15 22:52:46

标签: search solr schema

在我的数据集中,“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>

1 个答案:

答案 0 :(得分:1)

你不要让Solr知道ITS是“信息技术服务”的同义词。您需要先执行此操作,然后选中SynonymFilter