solr 忽略大小写

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,表示转化为小写匹配,及忽略大小写

原文地址:https://www.cnblogs.com/cuihongyu3503319/p/9505148.html

时间: 2024-10-23 11:24:15

solr 忽略大小写的相关文章

mysql表名忽略大小写

查看大小写区分mysql> show variables like "%case%";+------------------------+-------+| Variable_name          | Value |+------------------------+-------+| lower_case_file_system | OFF   | | lower_case_table_names | 0     | +------------------------+-

PostgreSQL AS不忽略大小写

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

Linux 终端 忽略大小写

忘了在哪里看到的了,记录一下. 在-/.inputrc中加入一行 set completion-ignore-case on 搞定! 这样在终端输入.补全时就忽略大小写了.当然,Linux本身还是区分大小写的.但使用大小写来区分文件或者不同命令绝不是个好习惯,尽量避免使用.

如何设置,使IntelliJ IDEA智能提示忽略大小写

打开设置(CTRL+ALT+S)搜索editor,找到"Code Completion"->点击Case sensitive completion后面的选择框,选中None,然后一路确定即可.如下图: 如何设置,使IntelliJ IDEA智能提示忽略大小写,布布扣,bubuko.com

字符串比较 忽略大小写 iphone

//不考虑大小写比较字符串1 NSString *astring01 = @"this is a String!"; NSString *astring02 = @"This is a String!"; BOOL result = [astring01 caseInsensitiveCompare:astring02] = = NSOrderedSame; NSLog(@"result:%d",result); //NSOrderedDesce

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

16:忽略大小写的字符串比较 总时间限制:  1000ms 内存限制:  65536kB 描述 一般我们用strcmp可比较两个字符串的大小,比较方法为对两个字符串从前往后逐个字符相比较(按ASCII码值大小比较),直到出现不同的字符或遇到'\0'为止.如果全部字符都相同,则认为相同:如果出现不相同的字符,则以第一个不相同的字符的比较结果为准(注意:如果某个字符串遇到'\0'而另一个字符串还未遇到'\0',则前者小于后者).但在有些时候,我们比较字符串的大小时,希望忽略字母的大小,例如"Hell

mysql表名忽略大小写配置

linux下mysql默认是要区分表名大小写的.mysql是否区分大小写设置是由参数lower_case_table_names决定的,其中:1)lower_case_table_names = 0 区分大小写(即对大小写不敏感),默认是这种设置.这样设置后,在mysql里创建的表名带不带大写字母都没有影响,都可以正常读出和被引用. 2)lower_case_table_names = 1 不区分大小写(即对大小写敏感).这样设置后,表名在硬盘上以小写保存,MySQL将所有表名转换为小写存储和查

验证随机码忽略大小写

String.equals()和String.equalsIgnoreCase()的区别 String.equals()对大小写敏感,而String.equalsIgnoreCase()忽略大小写 例如:"ABC".equals("abc")是false "ABC".equalsIgnoreCase("abc")为ture

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

在C#里要进行忽略大小写的字符串替换,用string的Replace是很难做到的,即使花了天大的力气做到了,效率仍然是很低的,正确的方法应该是使用正则表达式. 要使用正则表达式,首先需要引用命名空间: 以下是引用片段: usingSystem.Text.RegularExpressions; 然后,非常简单,使用: 以下是引用片段: Regex.Replace(字符串,要替换的子串,替换子串的字符,RegexOptions.IgnoreCase) 就可以达到目的了,其中最后的参数RegexOpt