Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zend_Search_Lucene
Martio
post
Post #1





Grupa: Zablokowani
Postów: 167
Pomógł: 2
Dołączył: 15.02.2004

Ostrzeżenie: (30%)
XX---


Kiedyś był problem z polskimi znakami. Czy wiecie może czy ten błąd już poprawiono? W manualu nic nie jest napisane.

Ten post edytował Martio 17.03.2007, 18:46:04
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
dafi
post
Post #2





Grupa: Zarejestrowani
Postów: 9
Pomógł: 1
Dołączył: 14.03.2005

Ostrzeżenie: (0%)
-----


co do polskich znaków to rozwiązaniem jest zastąpienie defaultowego analysera który działa na zestawie znaków ASCII takim który działa z utf-8.

trzeba to wykonać zarówno przed indexowaniem jaki i wyszukiwaniem poleceniem :

  1. Zend_Search_Lucene_Analysis_Analyzer::setDefault(new Zend_Search_Lucene_Analysis_Analyzer_Common_Utf8_CaseInsensitive());


dla wyników które nie mają uwzględniać wielkości znaków lub :
  1. Zend_Search_Lucene_Analysis_Analyzer::setDefault(new Zend_Search_Lucene_Analysis_Analyzer_Common_Utf8());


dla tych co mają je uwzględniać.

Ewentualnie można jeszcze poprawić "podświetlanie wyników" by poprawnie obsługiwało polskie znaki.
Znowu winien jest analyser a dokładnie jego wywołanie bez parametru kodowania.

plik: Zend_Search_Lucene_Document_Html metoda: highlightExtended()

zamienić :
  1. $wordsToHighlightList[] = $analyzer->tokenize($wordString);

na:
  1. $wordsToHighlightList[] = $analyzer->tokenize($wordString,'UTF-8');




[ZF ver: 1.10.3]
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 26.12.2025 - 13:38