每个文件由3个字段组成,两个字段是整数,第三个是带变音符号的阿拉伯语文本,用户可以使用带/不带变音符号的单词,甚至某些字母可能有变音符号而其他字母没有变音符号,我找不到一个在这种情况下有帮助的schema.xml。
我的schema.xml现在如下:
<?xml version="1.0" encoding="UTF-8" ?>
<schema name="quran" version="1.5">
<fields>
<field name="_version_" type="long" indexed="true" stored="true"/>
<field name="_id" type="long" indexed="true" stored="true" />
<field name="sura_number" type="int" indexed="true" stored="true" />
<field name="verse_number" type="int" indexed="true" stored="true" />
<field name="verse_text" type="text_ar" indexed="true" stored="true"/>
</fields>
<types>
<fieldType name="string" class="solr.StrField" sortMissingLast="true" />
<fieldType name="boolean" class="solr.BoolField" sortMissingLast="true"/>
<fieldType name="int" class="solr.TrieIntField" precisionStep="0" positionIncrementGap="0"/>
<fieldType name="float" class="solr.TrieFloatField" precisionStep="0" positionIncrementGap="0"/>
<fieldType name="long" class="solr.TrieLongField" precisionStep="0" positionIncrementGap="0"/>
<fieldType name="double" class="solr.TrieDoubleField" precisionStep="0" positionIncrementGap="0"/>
<fieldType name="date" class="solr.TrieDateField" precisionStep="0" positionIncrementGap="0"/>
<fieldType name="location" class="solr.LatLonType" subFieldSuffix="_coordinate"/>
<dynamicField name="*_coordinate" type="tdouble" indexed="true" stored="false"/>
<!-- Arabic -->
<fieldType name="text_ar" class="solr.TextField" positionIncrementGap="100">
<analyzer>
<tokenizer class="solr.StandardTokenizerFactory"/>
<!-- normalizes ﻯ to ﻱ, etc -->
<filter class="solr.ArabicNormalizationFilterFactory"/>
<filter class="solr.ArabicStemFilterFactory"/>
</analyzer>
</fieldType>
</types>
</schema>
我还需要arab.txt for arabic。
答案 0 :(得分:2)
您认为如何在schema.xml中使用配置[幻灯片18]?
答案 1 :(得分:0)
您想使用ICUTransformFilterFactory。这有点难以理解,但是如果您按照过滤器本身的链接然后到ICU用户指南,您会发现a lot of information。
有些内容很难理解,因此您可能会发现the example I built for Thai language有用作为起点。