1、types标签下加入如下fieldType

  1. <fieldType name="str_lower" class="solr.TextField" sortMissingLast="true" omitNorms="true">
  2. <analyzer>
  3. <tokenizer class="solr.KeywordTokenizerFactory"/>
  4. <filter class="solr.LowerCaseFilterFactory" />
  5. </analyzer>
  6. </fieldType>

2、fields标签下自定义field的type改为str_lower即可解决

  1. <field name="en_name" type="str_lower" indexed="true" stored="true"/>

java调用传参不区分大小写,皆可查询到结果

solr查询string类型时,有时需要使之不区分大小写( case insensitive),这时,就需要重新定义数据类型: 如统一转化为小写进行查询:

 
1
2
3
4
5
6
7
8
<fieldType name="string_ci" class="solr.TextField"  sortMissingLast="true" omitNorms="true">
     <analyzer>
        <tokenizer class="solr.KeywordTokenizerFactory"/>          
        <filter class="solr.LowerCaseFilterFactory" />
     </analyzer>
 </fieldType>
 
<field name="code" type="string_ci" indexed="true" stored="true" />

因string类型为值是可不变的,因此此次使用TextField (string field type for fields that contain structured values that shouldn’t be altered in any way)
注意:上面string_ci类型的field如果做facet时,得到的值将都是小写的,可能不符合实际需求。 因此,如果需要facet,需使用copyField再定义一个string类型的字段。 如:

 
1
2
3
<field name="code_cp" type="string" indexed="true" stored="false" />
 
 <copyField source="code" dest="code_cp"/>

对code_cp进行facet则行。

solr忽略大小写配置,在schema.xml中,对

<filterclass="solr.xxxxx" ignoreCase="true"expand="true"/>

中,对ignoreCase进行配置,如果为true,表示转化为小写匹配,及忽略大小写

solr 忽略大小写的更多相关文章

  1. AC日记——忽略大小写的字符串比较 openjudge 1.7 16

    16:忽略大小写的字符串比较 总时间限制:  1000ms 内存限制:  65536kB 描述 一般我们用strcmp可比较两个字符串的大小,比较方法为对两个字符串从前往后逐个字符相比较(按ASCII ...

  2. mysql表名忽略大小写问题记录

    问题描述:一开发同事在linux下调一个程序老是报错说找不到表,但是登陆mysql,show tables查看明明是已经创建了这张表的!!如下: mysql> show tables; +--- ...

  3. vim 查找时忽略大小写

    :set ic 忽略大小写#ignorecase :set noic 不忽略大小写#noignorecase

  4. MacOs终端忽略大小写

    使用MacOs的终端时,唯一让人感觉不爽的就是Tab补全是区分大小的,所以查了资料就把这个问题搞定了.在用户目录下创建 .inputrc 文件,内容为以下三行代码,保存后重启终端再次输入文件名Tab补 ...

  5. [mysql] mysql表名忽略大小写

    首先查看mysql是否区分大小写: 今天郁闷死了,在LINUX下调一个程序老说找不到表,但是我明明是建了表的,在MYSQL的命令行下也可以查到,为什么程序就找不到表呢? 后来请教了一个老师才搞定,原来 ...

  6. C#中正则表达式进行忽略大小写的字符串替换

    在C#里要进行忽略大小写的字符串替换,用string的Replace是很难做到的,即使花了天大的力气做到了,效率仍然是很低的,正确的方法应该是使用正则表达式. 要使用正则表达式,首先需要引用命名空间: ...

  7. JAVA正则忽略大小写

    java正则表达式:  (?i)abc  表示abc都忽略大小写  a(?i)bc   表示bc忽略大小写  a((?i)b)c   表示只有b忽略大小写 也可以用Pattern.compile(re ...

  8. indexOf()忽略大小写方法

    indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置.如果没有出现,则输出-1. indexOf() 方法对大小写敏感!所以要检索字符串且忽略大小写的时候,可以先把字符串转换成全部 ...

  9. PostgreSQL AS不忽略大小写

    select p.name as Name from person p; as后的Name会显示为name,若想不忽略大小写,请把Name加上双引号 select p.name as "Na ...

随机推荐

  1. CSS如何实现”右部宽度固定,左部自适应“的布局

    吃过晚饭后,开始刷前端笔试题,却遇到了一道CSS难题——使用CSS实现左部自适应.右部固定宽度为200px的布局.当时第一眼看到题目时,以为只是一道很简单的题目.不就是定义两个左浮动的div,右部的宽 ...

  2. python + opencv + pycharm +语音生成

    安装puthon 2.7.14(内置pip) pip install numpy pip install opencv-python 安装opencv 3.3.0 进入opencv example目录 ...

  3. [转]SQL UNION 和 UNION ALL 操作符

    SQL UNION 操作符 UNION 操作符用于合并两个或多个 SELECT 语句的结果集. 请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列.列也必须拥有相似的数据类型.同时,每 ...

  4. git刚初始化项目的操作

    # Command line instructions ## Git global setup git config --global user.name "iback" git ...

  5. JS判断字符串是否为空或是否全为空格

    var test = " "; //为空或全部为空格 if (test.match(/^[ ]*$/)) { console.log("all space or empt ...

  6. Redis hash结构

    1. select 更换命名空间 select 1 2. 设置hash,key为mp,键为name 值为zhangsan  hexists判断hash的key是否存在 3. 获得map中键为name的 ...

  7. Tomcat设置UTF-8字符

    进入tomat路径 vim  conf/server.xml

  8. Linux split命令详解

    Linux split命令 Linux split命令用于将一个文件分割成数个.该指令将大文件分割成较小的文件,在默认情况下将按照每1000行切割成一个小文件. 将输入内容拆分为固定大小的分片并输出到 ...

  9. 调试PHP错误

    error_reporting(E_ALL & ~E_NOTICE); ini_set('display_errors', "On");

  10. zabbix 3.4监控mysql,提示mysql: [Warning] Using a password on the command line interface can be insecure.

    mysql从5.6版本开始,如果是命令行直接出现了数据库连接密码就会有以下警告: mysql: [Warning] Using a password on the command line inter ...