私は下のデータから "タイトル"を検索したいが、ソラリアムからクエリを設定する前に、全文を小文字の "タイトル"に変換してから検索したい。結果を取得する前にソラリウムのsetQueryからフィールドテキストを小文字に変換する方法はありますか?
journalIssn:0007から1447
問題:4680
pageInfo:671-673
ソース:PMC
タイトル:血液の国際社会。
pubYear:1950
journalVolume:2
pubType: "会議レポート"
私は下のデータから "タイトル"を検索したいが、ソラリアムからクエリを設定する前に、全文を小文字の "タイトル"に変換してから検索したい。結果を取得する前にソラリウムのsetQueryからフィールドテキストを小文字に変換する方法はありますか?
journalIssn:0007から1447
問題:4680
pageInfo:671-673
ソース:PMC
タイトル:血液の国際社会。
pubYear:1950
journalVolume: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を愛して!アウト
:Solrののデータを変換する任意の方法がある「I」、「だけ」、「愛」、「私」、「iphone」私はあなたが@Oyemeに同意するが、私はここに求めています
ソラリウムから小文字/大文字に変換しますか? – Junaid
@Junaid、これを行う方法はありません。最も簡単な方法はstrtolower()を使用することです。 。または、schema.xmlに2つの異なるフィールドを作成できます.1つは小文字のものが大文字のものです。 – Oyeme