Apache Solr:如何处理由数字组成的单词

时间:2014-01-28 17:09:43

标签: solr

如果我搜索以下任何一项,我会得到完全相同的结果:

  • iPhone
  • iPhone 4
  • iPhone 5
  • iPhone4的
  • “iPhone 4”
  • (iPhone 4)

我如何强迫Solr关注一个单词后的数字?

我尝试将它们添加到 prodwords.txt spellings.txt 中,但它没有任何影响,并且在谷歌上找不到任何有用的提示。

我正在使用Solr 4.6并使用默认的Drupal Search API Solr搜索schema.xml,唯一的区别是我删除了词干选项。


工作解决方案:

要让字段使用这种关键字,我需要将最小标记长度设置为1:

<filter class="solr.LengthFilterFactory" min="1" max="100" />

WordDelimiterFilterFactory

也有这些配置
  • catenateNumbers = “1”
  • generateNumberParts = “1”

1 个答案:

答案 0 :(得分:1)

问题在于schema.xml文件中fieldType“text”(或具有类似配置的其他fieldTypes)的配置。令牌的最小长度设置为2:

<filter class="solr.LengthFilterFactory" min="2" max="100" />

因此,所有长度为1的令牌都将被移除。