Solr Snowball 词干分析器与西类牙语不一致

标签 solr stemming porter-stemmer

我有这个词干字段:

<fieldtype name="textes" class="solr.TextField">
  <analyzer type="index">
    <tokenizer class="solr.WhitespaceTokenizerFactory"/>
    <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1"/>
    <filter class="solr.LowerCaseFilterFactory"/>
    <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords-es.txt" enablePositionIncrements="true"/>
    <filter class="solr.SnowballPorterFilterFactory" language="Spanish" protected="protwords-es.txt"/>
  </analyzer>
  <analyzer type="query">
    <tokenizer class="solr.WhitespaceTokenizerFactory"/>
    <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1"/>
    <filter class="solr.LowerCaseFilterFactory"/>
    <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true"/>
    <filter class="solr.SnowballPorterFilterFactory" language="Spanish" protected="protwords-es.txt"/>
  </analyzer>
</fieldtype>

搜索查询的预期结果 alquileres (rents) 将匹配 alquiler (租)。但是,当我转到 Solr 管理站点中的“字段分析”并检查索引值 alquiler 时和查询值 alquileres ,发生以下情况:
  • 索引时 alquiler ,它会变成 alquil .
  • 查询时alquileres ,它会变成 alquiler .

  • 因此,搜索单词的复数形式 ( alquileres ) 的简单情况与其单数形式 ( alquiler ) 不匹配。

    索引和查询不应该都归入同一个词干( alquileralquil )吗?这是算法的限制还是我的误解/错误配置?

    最佳答案

    雪球词干非常有限...使用字典(Hunspell 词干分析器)可以获得更好的结果:http://wiki.apache.org/solr/Hunspell

    关于Solr Snowball 词干分析器与西类牙语不一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8386515/

    相关文章:

    elasticsearch - AWS ElasticSearch服务-我可以在其上使用任何茎干吗?

    Solr:通过字符串字段提升

    solr - Solr中的模糊搜索

    python - Python NLTK 中用于情感分析的德语词干提取

    comparison - 什么是最好的 "turnkey"词干提取算法?

    data-mining - Stemming 对词频的影响?

    java - java中的停用词和词干分析器

    java - 分割和词干后正确的字符串格式

    docker - Docker Hub私有(private)存储库:无法在私有(private)存储库中推送Solr Core文件

    java - 获取 Solr Cloud 集合中的文档数量