我想从下面的数据中搜索“标题”,但在从日光浴室设置查询之前,我想将整个文本转换为小写“标题”,然后检索结果。
期刊号:0007-1447
问题:4680
页面信息:671-673
资料来源:PMC
标题:国际血液学学会。
酒吧年份:1950
期刊卷:2
pubType: "会议报告"
我想从下面的数据中搜索“标题”,但在从日光浴室设置查询之前,我想将整个文本转换为小写“标题”,然后检索结果。
期刊号:0007-1447
问题:4680
页面信息:671-673
资料来源:PMC
标题:国际血液学学会。
酒吧年份:1950
期刊卷:2
pubType: "会议报告"
您可以使用 php 函数 strtolower(); 转换您的查询字符串;
http://php.net/manual/en/function.strtolower.php
或者您可以在 schema.xml 中使用小写过滤器设置新的字段类型
https://cwiki.apache.org/confluence/display/solr/Tokenizers#Tokenizers-LowerCaseTokenizer
<fieldType name="newFilter" class="solr.TextField" omitNorms="false" positionIncrementGap="100" multiValued="true">
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.StopFilterFactory" words="stopwords.txt" ignoreCase="true"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
例子:
在:“我只是喜欢我的 iPhone!”
输出:“i”、“just”、“love”、“my”、“iphone”