【问题标题】:Solr ngram does not match number?Solr ngram 与数字不匹配?
【发布时间】:2012-01-05 09:51:18
【问题描述】:

我正在使用标准 Solr ngram 字段定义 --

<fieldType name="ngram" class="solr.TextField" positionIncrementGap="100" stored="false" multiValued="true">
  <analyzer type="index">
    <tokenizer class="solr.StandardTokenizerFactory"/>
    <!-- potentially word delimiter, synonym filter, stop words, NOT stemming -->
    <filter class="solr.LowerCaseFilterFactory"/>
    <filter class="solr.NGramFilterFactory" minGramSize="2" maxGramSize="15"/>
  </analyzer>
  <analyzer type="query">
    <tokenizer class="solr.StandardTokenizerFactory"/>
    <!-- potentially word delimiter, synonym filter, stop words, NOT stemming -->
    <filter class="solr.LowerCaseFilterFactory"/>
  </analyzer>
</fieldType>

<field name="item" type="text" indexed="true" stored="true"/>
<field name="item_ngram" type="ngram" indexed="true" stored="true"/>

现在“item:ipad AND item:2”会找到“iPad 2”,但“item_ngram:ipad AND item_ngram:2”不会。

有什么想法吗?

【问题讨论】:

    标签: solr lucene full-text-search n-gram


    【解决方案1】:

    您的 n-gram 的最小长度为 2 (minGramSize="2")。所以 item_ngram:2 不会匹配任何东西。将其减少到 1,您将获得匹配项。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-06-28
      • 1970-01-01
      • 2012-08-20
      • 1970-01-01
      • 2012-02-12
      • 1970-01-01
      • 2017-02-16
      相关资源
      最近更新 更多