2016-11-24 1 views
0

私は下のデータから "タイトル"を検索したいが、ソラリアムからクエリを設定する前に、全文を小文字の "タイトル"に変換してから検索したい。結果を取得する前にソラリウムのsetQueryからフィールドテキストを小文字に変換する方法はありますか?

journalIssn:0007から1447

問題:4680

pageInfo:671-673

ソース:PMC

タイトル:血液の国際社会。

pubYear:1950

journalVolume:2

pubType: "会議レポート"

答えて

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を愛して!アウト
:Solrののデータを変換する任意の方法がある「I」、「だけ」、「愛」、「私」、「iphone」私はあなたが@Oyemeに同意するが、私はここに求めています

+0

ソラリウムから小文字/大文字に変換しますか? – Junaid

+0

@Junaid、これを行う方法はありません。最も簡単な方法はstrtolower()を使用することです。 。または、schema.xmlに2つの異なるフィールドを作成できます.1つは小文字のものが大文字のものです。 – Oyeme

関連する問題