无法在Solr中找到具有编号的搜索字词的文档

时间:2017-08-14 19:35:39

标签: solr solr6

我正在安装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以便具有数字的搜索词返回docs(注意:title等字段已经有值Testterm 2并且使用copyfield将其复制到文本中)

1 个答案:

答案 0 :(得分:0)

索引组件上有许多过滤器。因此,我建议您查看Solr Field Analyzer,它是Solr管理员的一部分,看看在索引之前您的文档是如何转换的。这样可以让您了解如何设置搜索范围。