Mam problem z wyszukiwaniem polskich znaków w bibliotece zenda Zend_Search_Lucene.
Ogólnie wyszukiwanie działa dosyć dobrze, problem jest tylko gdy w szukanej frazie znajdzie się choć jeden polski znak, wówczas Lucene zwraca mi 0 rekordów. Cała strona ustawiona jest na kodowanie utf-8, takie też podawane jest przy tworzeniu indexów przez luncene.
Tworzenie index'ów wygląda w sposób przedstawiony poniżej, dane pobierane są z bazy i w pętl
indexowane.
<?php $doc = new Zend_Search_Lucene_Document(); $doc->addField(Zend_Search_Lucene_Field::Keyword('name', $posts[$i]['name'], 'utf-8')); ... $doc->addField(Zend_Search_Lucene_Field::UnStored('text', $posts[$i]['text'], 'utf-8')); $index->addDocument($doc); ?>
Szukanie zaś wygląda tak:
<?php $query = new Zend_Search_Lucene_Search_Query_MultiTerm(); $query->addTerm(new Zend_Search_Lucene_Index_Term($search, 'text'), true); $index = new Zend_Search_Lucene('./tmp/index'); return $index->find($query); ?>
Wydaje mi się, że wszystko jest tak jak powinno być a mimo to nie działa.
Może ktoś spotkał się już z takim problemem i go rozwiązał ? Jeśli tak to prosze o pomoc ?
Z góry dzięki.