【问题标题】:How to get spelling suggestions from synonyms.txt in solr?如何从 solr 中的 synonyms.txt 中获取拼写建议?
【发布时间】:2011-09-13 00:38:24
【问题描述】:

我在 synonyms.txt 文件中有一个拼写错误和已更正的单词列表。如何在 solr 中使用它来提供拼写建议?

例如synonyms.txt 包含以下条目:

laptap => laptop
delll => dell

当我向 solr 服务器查询“laptap”时,我应该得到“您的意思是:笔记本电脑?”的建议。

我知道 schema.xml 将如下所示:

<fieldType name="textSpell" class="solr.TextField" positionIncrementGap="100" omitNorms="true">
<analyzer type="index">
   <tokenizer class="solr.StandardTokenizerFactory"/>
     <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/>
     <filter class="solr.LowerCaseFilterFactory"/>
     <filter class="solr.StandardFilterFactory"/>
</analyzer>
<analyzer type="query">
     <tokenizer class="solr.StandardTokenizerFactory"/>
     <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
     <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/>
     <filter class="solr.LowerCaseFilterFactory"/>
     <filter class="solr.StandardFilterFactory"/>
</analyzer> 
</fieldType>

solrconfig.xml 呢?我不想使用索引,因为我已经有一个列表。有什么想法吗?

【问题讨论】:

    标签: solr spell-checking synonym search-suggestion


    【解决方案1】:

    更新以适应不从平面文件创建索引/字典的要求:

    1. 查看 Solr 3.1 中添加的 Suggester 功能
    2. Implement a Custom SpellCheckComponent 具有所需的行为(尽管我认为 Suggester 接近您想要的)。

    之前的建议:

    这是一篇关于在 Solr 中设置拼写检查的好文章,其中包括如何配置基于文件的拼写检查。您应该能够按照此操作并将示例配置中的 spellings.txt 文件替换为您的 synonyms.txt 文件。

    Getting started Spell Checking with Apache Lucene and Solr

    【讨论】:

    • FileBasedSpellChecker 创建和使用基于平面文件的拼写字典,这与创建索引相同。我有一个拼写错误的单词到更正单词的映射,我想使用这些映射而不是在索引中搜索。我不确定如何使用 FileBasedSpellChecker 来使用我的文件来获取建议。
    • 没有意识到 FileBasedSpellChecker 从平面文件中创建了一个拼写字典。
    猜你喜欢
    • 2014-05-21
    • 1970-01-01
    • 1970-01-01
    • 2022-01-10
    • 2014-12-01
    • 1970-01-01
    • 2014-07-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多