【问题标题】:PorterStemFilterFactory does not return resultsPorterStemFilterFactory 不返回结果
【发布时间】:2020-04-05 01:13:37
【问题描述】:

我正在使用 solr 做一个项目,但我在使用 PorterStemFilterFactory 时遇到了一些问题。 当我编写像 Acquisitions 这样的查询时,它不会返回任何内容,而在基线(无预处理)中,我有 985 个结果。通常我应该有更多的结果,所以我不太明白。有人能帮我吗 :) ?

这是我的 schema.xml 代码:

 <fieldType name="text_general" class="solr.TextField" positionIncrementGap="100" multiValued="true">
      <analyzer type="index">
        <tokenizer class="solr.StandardTokenizerFactory"/>
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
        <!-- in this example, we will only use synonyms at query time
        <filter class="solr.SynonymGraphFilterFactory" synonyms="wn_s.pl" format="wordnet" ignoreCase="true" expand="false"/>
        <filter class="solr.FlattenGraphFilterFactory"/>
        -->
        <filter class="solr.LowerCaseFilterFactory"/>
        <filter class="solr.PorterStemFilterFactory"/>
      </analyzer>
      <analyzer type="query">
        <tokenizer class="solr.StandardTokenizerFactory"/>
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
        <filter class="solr.LowerCaseFilterFactory"/>
       <!--<filter class="solr.KStemFilterFactory"/>-->
        <!--<filter class="solr.SynonymGraphFilterFactory" synonyms="wn_s.pl" format="wordnet" ignoreCase="true" expand="true"/>-->
        <filter class="solr.PorterStemFilterFactory"/>
      </analyzer>
    </fieldType>

我不明白我的收藏是不是有词干的,还是与我的查询有关。我认为它在我重新启动时第一次工作,它停止工作。 PS:我在更改架构之前重新编制了索引,所以不是那样。

对不起,我的英语不是我的母语。

【问题讨论】:

  • 我还检查了分析工具(在 Solr Admin 上),并且(查询和索引)都启用了 porter (PSF)
  • 我在 schema.xml 中的字段类型上添加了“字符串”,这可能是问题吗?

标签: solr porter-stemmer


【解决方案1】:

我在 schema.xml 中为我的字段类型添加了“字符串” 会不会是问题?

是的,这很可能是问题所在。

字符串字段的存储没有任何转换,因此如果您存储“收购”,则必须准确搜索“收购”。

另一方面,文本字段(例如您的示例中的 text_general)在索引和查询时会经历一系列转换。这些转换就是您的 XML 中描述的内容。

在您的情况下,您需要 (1) 将要查询的值存储在 text_general 字段中(例如 myfield_t,默认情况下映射到 text_general 字段)和 (2)然后按该字段运行查询:

q=my_field_t:acquisitions

【讨论】:

    猜你喜欢
    • 2019-06-18
    • 2018-03-19
    • 2011-07-17
    • 2015-09-29
    • 2013-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多