私は Solr 4.1 を使用しており、アラビア語のクエリを強調表示したいと考えています。しかし、正しく動作しません。強調表示される単語が正しく検出されますが、強調表示タグを追加する必要がある場合 (たとえば、) これらのタグを追加する書き込みインデックスが見つかりません。たとえば、ピザのクエリに対して次のようなものを作成します。
<str>i eat<em> pizz</em>a every weekend</str>
英語では正しく機能しますが、意味を説明したいだけです。
または、クエリのアラビア語の例を次に示します。
<str>أَخْبَرَنِي الرَّئِیسُ الْعَفِیفُ أَبُو الْبَقَاءِ هِبَةُ اللَّهِ بْنُ نَمَا بْن<em>ِ عَلِي</em>ِّ بْ</str>
私が期待するもの:
<str>أَخْبَرَنِي الرَّئِیسُ الْعَفِیفُ أَبُو الْبَقَاءِ هِبَةُ اللَّهِ بْنُ نَمَا بْنِ <em>عَلِيِّ</em> بْ</str>
次のフィールドの説明を使用していることに注意してください。
<fieldType name="text_ar" class="solr.TextField" positionIncrementGap="100">
<analyzer>
<charFilter class="searchEng.solr.ar.CharFilter" />
<tokenizer class="solr.StandardTokenizerFactory"/>
<!-- for any non-arabic -->
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="lang/stopwords_ar.txt" enablePositionIncrements="true"/>
<!-- normalizes ﻯ to ﻱ, etc -->
<filter class="solr.ArabicNormalizationFilterFactory"/>
<filter class="solr.ArabicStemFilterFactory"/>
</analyzer>
</fieldType>
最初の charFilter は、一部のアラビア文字を正規化するだけです。