2

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

4

0 回答 0