0

i want to search "title" from the data below but before setting query from solarium i want to convert the whole text to lowercase "title" and then retrieve the result.

journalIssn:0007-1447

issue: 4680

pageInfo: 671-673

source: PMC

title: International Society of Haematology.

pubYear: 1950

journalVolume: 2

pubType: "Meeting Report"

Junaid
  • 1
  • 1

1 Answers1

0

You can convert your query string using php function strtolower();

http://php.net/manual/en/function.strtolower.php

Or you can set up a new field type with LowerCase filter in 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>

Example:

In: "I just LOVE my iPhone!"
Out: "i", "just", "love", "my", "iphone"

Oyeme
  • 11,088
  • 4
  • 42
  • 65
  • I agree with you @Oyeme but i am asking here that is there any method to convert the data of solr to lower case/ upper case from solarium? – Junaid Nov 24 '16 at 10:54
  • @Junaid, there is no way of doing this,the simplest way would be using strtolower(); . Or you can create two different fields in schema.xml one is with lower case one is with upper case. – Oyeme Nov 24 '16 at 11:08