首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Magento SOLR模糊搜索

Magento SOLR模糊搜索
EN

Stack Overflow用户
提问于 2013-02-22 13:43:12
回答 1查看 1K关注 0票数 0

我正在使用magento中的SOLR search,并尝试使用SOLR模糊搜索的功能。但到目前为止,似乎没有运气。

我已经尝试在搜索查询的末尾使用tilda (~),也尝试使用"PorterStemFilterFactory“,这是迄今为止我所知道的最好的词干工厂。但它没有给我任何结果。例如,我的产品名为"Shiraz“。因此,如果使用"shirag“或"shrag”进行搜索,模糊搜索将返回相同的结果。

这是我的模式部分(我只给出英语部分,因为这是我唯一使用的部分)

代码语言:javascript
运行
复制
<fieldType name="text_en" class="solr.TextField" positionIncrementGap="100">
        <analyzer type="index">
            <tokenizer class="solr.WhitespaceTokenizerFactory"/>
            <charFilter class="solr.MappingCharFilterFactory" mapping="mapping-ISOLatin1Accent.txt"/>
            <filter class="solr.EdgeNGramFilterFactory" minGramSize="3" maxGramSize="10" />
            <!--
                In this example, we will only use synonyms at query time.
                <filter class="solr.SynonymFilterFactory" synonyms="index_synonyms.txt" ignoreCase="true"
                    expand="false"/>
            -->
            <!--
                Case insensitive stop word removal. Add enablePositionIncrements=true in both the index and query
                analyzers to leave a 'gap' for more accurate phrase queries.
            -->
            <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords_en.txt"
                    enablePositionIncrements="true"/>
            <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1"
                    catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1"/>
            <filter class="solr.LowerCaseFilterFactory"/>
            <filter class="solr.SnowballPorterFilterFactory" language="English" protected="protwords_en.txt"/>
        </analyzer>
        <analyzer type="query">
            <tokenizer class="solr.WhitespaceTokenizerFactory"/>
            <charFilter class="solr.MappingCharFilterFactory" mapping="mapping-ISOLatin1Accent.txt"/>
            <filter class="solr.SynonymFilterFactory" synonyms="synonyms_en.txt" ignoreCase="true" expand="true"/>
            <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords_en.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_en.txt"/>
            <filter class="solr.PorterStemFilterFactory" />
        </analyzer>
    </fieldType>

下面是我尝试过的链接:

http://johntwang.com/blog/2011/09/05/Fuzzy-and-Document-Searching-with-WebSolr-and-Heroku/ http://docs.lucidworks.com/display/solr/The+Standard+Query+Parser http://www.rqna.net/qna/mnuhwh-solr-fuzzy-search-for-similar-words.html

EN

回答 1

Stack Overflow用户

发布于 2013-02-23 06:21:52

请参阅Solr Fuzzy Search for similar wordsSolr/Lucene fuzzy search too slow

如果你正在寻找自动建议,那么使用EdgeNGramFilter绝对是另一个要考虑的选择。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15017654

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档