What is Indexing and search full_text arabic field using apache solr ? - apache solr




Arabic field using apache solr:

  • Apache Solr has an Arabic analysis.
  • If you open the default schema.xml file which comes with Solr, you will see an example of Arabic fieldtype.
  • You can use CopyField to copy your fields to the Arabic field type.
  • You have to reindex your content again to get the preferred results.
  • If each document consists of 3 fields, two fields are integers then the third field is Arabic text with diacritics, the user may use words with or without diacritics or else some letters have diacritics and others without diacritics, you can use schema.xml which helps in such situation.
 index text

Learn apache solr - apache solr tutorial - index text - apache solr examples - apache solr programs

Schema.xml is now as follows:

<?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>

click below button to copy the code. By - apache solr tutorial - team

Related Searches to What is Indexing and search full_text arabic field using apache solr ? - apache solr