Karakterset.
Support voor UTF-8 en single-byte karaktersets.
Zend_Search_Lucene is ontworpen om met de UTF-8 karakterset te werken. Indexbestanden
slaan unicode data op in Java's "modified UTF-8 encoding". Zend_Search_Lucene core
biedt volledige support voor deze vorm op één uitzondering na.
Zend_Search_Lucene biedt alleen support voor Basic
Multilingual Plane (BMP) karakters (van 0x0000 tot 0xFFFF)
en biedt geen support voor bijkomende karakters (karakters
waarvan de codes groter zijn dan 0xFFFF)
Java 2 stelt deze karakters voor als een paar van char (16-bit)
waarden, het eerste paar van de hogere reeks (0xD800_0xDBFF), het
tweede van de lagere reeks (0xDC00-0XDFFF). Daarna worden ze
omgeschreven op 6 bytes zoals gewone UTF-8 karakters.
De standaard UTF-8 voorstelling gebruikt vier bytes voor bijkomende
karakters.
Niettemin, tekst analysator, query parser tekst analysator en query parser
gebruiken ctype_alpha() om tekst en queries van tokens te voorzien.
ctype_alpha() biedt geen support voor UTF-8 en zal moeten worden vervangen
in de nabije toekomst.
We raden je sterk aan jouw data in ASCII om te schrijven
Indien de data in non-ascci karakters of UTF-8 is geschreven.
(zowel voor het opslaan als voor het queryen van de brondocumenten):
addField(Zend_Search_Lucene_Field::UnStored('contents', $docText));
...
$query = iconv('', 'ASCII//TRANSLIT', $query);
$hits = $index->find($query);
?>]]>