0

我想从下面的数据中搜索“标题”,但在从日光浴室设置查询之前,我想将整个文本转换为小写“标题”,然后检索结果。

期刊号:0007-1447

问题:4680

页面信息:671-673

资料来源:PMC

标题:国际血液学学会。

酒吧年份:1950

期刊卷:2

pubType: "会议报告"

4

1 回答 1

0

您可以使用 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”

于 2016-11-24T10:15:23.613 回答