2

我失去了水果的同义词,因为我给了SEABISCUITSEA、 BISCUIT和 BISCUIT 给出了与 SEABISCUIT 相同的结果,因为我用于它们的同义词是“,”。请帮助我。有没有其他方法可以为 SEABISCUIT 和 SEA BISCUIT 获得相同的结果。不会丢失 BISCUIT 的结果。

我正在使用 websphere 7,并将 solr 作为单独的工具添加。

请帮我 !!!

My schema.xml is as below

<fieldType name="text" class="solr.TextField"
            positionIncrementGap="100">
            <analyzer type="index">
                <tokenizer class="solr.KeywordTokenizerFactory" />
                <filter class="solr.StopFilterFactory" ignoreCase="true"
                    words="stopwords.txt" enablePositionIncrements="true" />
                <filter class="solr.WordDelimiterFilterFactory"
                    generateWordParts="1" generateNumberParts="1" catenateWords="1"
                    catenateNumbers="1" catenateAll="0" splitOnCaseChange="0" />
                <filter class="solr.LowerCaseFilterFactory" />
                <filter class="solr.SnowballPorterFilterFactory" language="English"
                    protected="protwords.txt" />

                <filter class="solr.EdgeNGramFilterFactory" minGramSize="2" maxGramSize="25" />
            </analyzer>
            <analyzer type="query">
                <tokenizer class="solr.KeywordTokenizerFactory" />
                <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt"
                    ignoreCase="true" expand="true" />
                <filter class="solr.StopFilterFactory" ignoreCase="true"
                    words="stopwords.txt" enablePositionIncrements="true" />
                <filter class="solr.WordDelimiterFilterFactory"
                    generateWordParts="1" generateNumberParts="1" catenateWords="0"
                    catenateNumbers="0" catenateAll="0" splitOnCaseChange="0" />
                <filter class="solr.LowerCaseFilterFactory" />
                <filter class="solr.SnowballPorterFilterFactory" language="English"
                    protected="protwords.txt" />

                <filter class="solr.EdgeNGramFilterFactory" minGramSize="2" maxGramSize="25" />
            </analyzer>
        </fieldType>
4

1 回答 1

0

您在查询时拥有 SynonymFilterFactory。试着把它放在索引时间。多词同义词(参见深入解释)和查询时扩展存在一个已知问题。这正在慢慢得到改善,但仍然不完美。

于 2013-02-04T13:41:21.427 回答