繁体   English   中英

Apache Solr中不区分大小写的搜索

[英]Case insensitive search in Apache solr

我在Solr和PHP中使用字符串类型创建了一个搜索应用程序,并且运行良好。 发现的唯一问题是它不支持不区分大小写的搜索。 在搜索时,我发现solr不支持类型为“ String”的不区分大小写的搜索。

因此,我创建了一个自定义类型“ string_ci”,并进行了如下配置。

    <field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" /> -
    <field name="loc_code" type="string" indexed="true" stored="true" required="true" multiValued="false" />
    <field name="loc_name" type="string_ci" indexed="true" stored="true" required="true" multiValued="false" />
    <field name="state" type="string" indexed="true" stored="true" required="true" multiValued="false" />

这是我对“ string_ci”的字段类型定义

    <fieldType name="string_ci" class="solr.TextField"
            sortMissingLast="true" omitNorms="true">
            <analyzer>
                <tokenizer class="solr.KeywordTokenizerFactory"/>           
                <filter class="solr.LowerCaseFilterFactory" />
       </analyzer>
    </fieldType>

不幸的是,这是行不通的。 有人可以指出我错了吗?

试试这个

<fieldType name="string_ci" class="solr.TextField" sortMissingLast="true"    omitNorms="true" positionIncrementGap="100">
  <analyzer type="index">
    <tokenizer class="solr.KeywordTokenizerFactory"/>
      <filter class="solr.LowerCaseFilterFactory"/>
  </analyzer>
  <analyzer type="query">
    <tokenizer class="solr.KeywordTokenizerFactory"/>
    <filter class="solr.LowerCaseFilterFactory"/>
  </analyzer>
</fieldType>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM