Bug 13981 - Transliterate rule for oe and ae
authorFridolin Somers <fridolin.somers@biblibre.com>
Mon, 13 Apr 2015 10:17:12 +0000 (12:17 +0200)
committerTomas Cohen Arazi <tomascohen@gmail.com>
Mon, 20 Apr 2015 13:03:41 +0000 (10:03 -0300)
NOTE : I use HTML codes for special characters to avoir encoding issues in patch file.

In ICU configuration, add a transliterate rule for
&oelig; = oe
&aelig; = ae

Test plan :
- Without patch
- Create a record R1 with title containing for example "c&oelig;ur"
- Create a record R2 with title containing for example "coeur"
- Index those records
- Search for "c&oelig;ur"
=> You only find R1
- Search for "coeur"
=> You only find R2
- Apply patch
- Restart zebra
- Index R1 and R2
- Search for "c&oelig;ur"
=> You find R1 and R2
- Search for "coeur"
=> You find R1 and R2
(Same test plan for ae)

------
Tested with all variants of Ae ae Oe oe. Search worked as expected.
Note: The words with special characters were not highlighted, but I think this can be done in an other bug.
Signed-off-by: Marc Veron <veron@veron.ch>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>

etc/zebradb/etc/phrases-icu.xml
etc/zebradb/etc/words-icu.xml

index 076c5ac..69cc124 100644 (file)
@@ -1,4 +1,8 @@
 <icu_chain locale="">
+  <transliterate rule="{ œ > oe "/>
+  <transliterate rule="{ Œ > oe "/>
+  <transliterate rule="{ æ > ae "/>
+  <transliterate rule="{ Æ > ae "/>
   <!-- Remove control characters except \t\n\r -->
   <transform rule="[\x00-\x08\x0B\x0C\x0E-\x1F\x7F] Any-Remove"/>
   <tokenize rule="l"/>
index 57498cb..1015688 100644 (file)
@@ -1,4 +1,8 @@
 <icu_chain locale="">
+  <transliterate rule="{ œ > oe "/>
+  <transliterate rule="{ Œ > oe "/>
+  <transliterate rule="{ æ > ae "/>
+  <transliterate rule="{ Æ > ae "/>
   <transliterate rule="\'>\ "/>
   <transliterate rule="[:Number:] { '-' > '' "/>
   <!-- Remove control characters except \t\n\r -->