0

我正在安装 solr 6.6。我正在尝试查找具有带有数字的搜索词的文档,例如q=testterm 2 我尝试运行搜索的字段具有以下定义:

<field name="text" type="text_general" indexed="true" stored="false" multiValued="true"/>

数据类型 text_general 的定义是:

<fieldType name="text_general" class="solr.TextField" positionIncrementGap="100">
      <analyzer type="index">
        <charFilter class="solr.PatternReplaceCharFilterFactory" pattern="([^A-Za-z0-9 ])" replacement=""/>
        <tokenizer class="solr.KeywordTokenizerFactory"/>
        <filter class="solr.LowerCaseFilterFactory"/>
        <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" preserveOriginal="1"/>
        <filter class="solr.EdgeNGramFilterFactory" minGramSize="2" maxGramSize="50"/>
        <filter class="solr.ReverseStringFilterFactory"/>
        <filter class="solr.EdgeNGramFilterFactory" minGramSize="2" maxGramSize="50"/>
        <filter class="solr.ReverseStringFilterFactory"/>
      </analyzer>
      <analyzer type="query">
        <charFilter class="solr.PatternReplaceCharFilterFactory" pattern="([^A-Za-z0-9 ])" replacement=""/>
        <tokenizer class="solr.KeywordTokenizerFactory"/>
        <filter class="solr.LowerCaseFilterFactory"/>
        <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" preserveOriginal="1"/>
      </analyzer>
    </fieldType>

之前定义的字段文本的值是使用 copyfield 填充的。当我使用具有数字的搜索词(如上所述)没有返回文档时,就会出现问题。无论如何配置 solr 以使具有数字的搜索词返回文档(注意:标题等字段已经具有值Testterm 2,并且使用 copyfield 将其复制到文本中)

4

1 回答 1

0

您的索引组件上有许多过滤器。因此,我宁愿建议您查看 Solr 字段分析器,它是 Solr 管理员的一部分,并在索引之前查看您的文档是如何转换的。这将使您了解如何设置搜索范围。

于 2017-08-14T19:49:46.557 回答