我正在使用 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 只是规范化一些阿拉伯字符。