Correcting Search of Arabic records

This page is based on this article article
and [this conversation] ( to get the attached file) :
First, Install yaz-icu package:
sudo apt-get install yaz-icu
Go to more> Administration > Global system preferences > Searching. 
Change UseICU to use (if the syspref exists).
Change QueryFuzzy to don't try.
Change QueryStemming to don't try.
goto /etc/koha/zebradb/etc/
Check and correct the first lines of default.idx wth this lines :
 # Traditional word index
 # Used if completenss is 'incomplete field' (@attr 6=1) and
 # structure is word/phrase/word-list/free-form-text/document-text
 index w
 completeness 0
 position 1
 alwaysmatches 1
 firstinfield 1
 icuchain words-icu.xml
 
 
 # Phrase index
 # Used if completeness is 'complete {sub}field' (@attr 6=2, @attr 6=1)
 # and structure is word/phrase/word-list/free-form-text/document-text
 index p
 completeness 1
 firstinfield 1
 icuchain phrases-icu.xml 
In the same folder modify or create words-icu.xml with:
 <icu_chain locale="ar">
 <transliterate rule="\'>\ "/>
 <transliterate rule="[:Number:] { '-' > "/>
 <transform rule="[:Control:] Any-Remove"/>
 <tokenize rule="l"/>
 <transform rule="[[:WhiteSpace:][:Punctuation:]] Remove"/>
 <transform rule="NFD"/>
 <transform rule="[:Nonspacing Mark:] Remove"/>
 <transform rule="NFC"/>
 <transliterate rule="{ الا > ا "/>
 <transliterate rule="{ الأ > أ "/>
 <transliterate rule="{ الإ > إ "/>
 <transliterate rule="{ الآ > آ "/>
 <transliterate rule="{ الب > ب "/>
 <transliterate rule="{ الت > ت "/>
 <transliterate rule="{ الث > ث "/>
 <transliterate rule="{ الج > ج "/>
 <transliterate rule="{ الح > ح "/>
 <transliterate rule="{ الخ > خ "/>
 <transliterate rule="{ الد > د "/>
 <transliterate rule="{ الذ > ذ "/>
 <transliterate rule="{ الر > ر "/>
 <transliterate rule="{ الز > ز "/>
 <transliterate rule="{ الس > س "/>
 <transliterate rule="{ الش > ش "/>
 <transliterate rule="{ الص > ص "/>
 <transliterate rule="{ الض > ض "/>
 <transliterate rule="{ الط > ط "/>
 <transliterate rule="{ الظ > ظ "/>
 <transliterate rule="{ الع > ع "/>
 <transliterate rule="{ الغ > غ "/>
 <transliterate rule="{ الف > ف "/>
 <transliterate rule="{ الق > ق "/>
 <transliterate rule="{ الك > ك "/>
 <transliterate rule="{ الل > ل "/>
 <transliterate rule="{ الم > م "/>
 <transliterate rule="{ الن > ن "/>
 <transliterate rule="{ اله > ه "/>
 <transliterate rule="{ الو > و "/>
 <transliterate rule="{ الي > ي "/>
 <display/>
 <casemap rule="l"/>
 </icu_chain>
(note that searching for other locales will still work even if you have your locale set to ar)
If you are using packages, run:
 sudo koha-restart-zebra {yourinstance}
 sudo koha-rebuild-zebra -f {yourinstance}
(replacing {yourinstance} with the name of your instance)
If you are using a tarball installation or git installation (in which case you will need to change all the paths) execute now these two lines:
 /etc/init.d/koha-zebra-daemon restart
 /usr/share/koha/bin/migration_tools/rebuild_zebra.pl -b -r -v -w 
you may have to execute something this first: 
 sudo bash
 export PERL5LIB=/usr/share/koha/lib
 export KOHA_CONF=/etc/koha/sites/iesh/koha-conf.xml
Congratulation, now you have Fully working arabic search engine ;)
Category:Translation
Category:Documentation
Category:Installation
Category:Zebra