2010-07-27 23 views
6

Aşağıdaki senaryoyu çekip almak Zend_Search_Lucene bir yol bulmaya çalışıyorum: Zend Arama Lucene ve Aksanlı Karakterler

en biz bir kullanıcı var ve onun adı Aïcha (özel karakter unutmayın) olduğunu varsayalım. Aicha için indeksi araştırıyorsam (özel türevi olmaksızın), Aïcha'nın sonuçlara dönmesini istiyorum.

Bu işi yapmak için indeksleme veya arama yaparken yapmam gereken özel bir şey var mı? İndekslemeden önce verileri normalize etme, normalleştirilmiş karakterlerle tüm özel karakterleri değiştirme konusunda çözümler okudum, ancak o rotayı izlemeyi tercih ediyorum. peşin

sayesinde Gary endeksi oluşturarak, = o indeksleme olmadan gerçek değerini depolamak ise bu fonksiyonlar çıkışını kullanmak

cevap

3
 

function normalize ($string){ 
    $a = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ 
ßàáâãäåæçèéêëìíîïðñòóôõöøùúûýýþÿŔŕ'; 
    $b = 'aaaaaaaceeeeiiiidnoooooouuuuy 
bsaaaaaaaceeeeiiiidnoooooouuuyybyRr'; 
    $string = utf8_decode($string); 
    $string = strtr($string, utf8_decode($a), $b); 
    $string = strtolower($string); 
    return utf8_encode($string); 
} 
$passToIndexer = normalize(" Aïcha "); 
 

deneyin) Ben Açıkçası başka bir yolu olduğunu sanmıyorum, bu yardımcı olur umarım .

İlgili konular