Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zend_Search_Lucene czy postgres fulltext search
Forum PHP.pl > Forum > Bazy danych > PostgreSQL
lucassus
Stoję właśnie przed wyborem sposobu zaimplementowania wyszukiwarki pełnotekstowej w mojej aplikacji.

Ma to być wyszukiwanie produktów w sklepie internetowym, więc treść będzie w pewien sposób ograniczona (produkty nie będą się mnożyć np. tak jak posty w forum) i nie będzie często zmieniana.
Z Lucene mam nieco doświadczenia i wiem, że jest całkiem nieźle działa, i jest łatwa do wdrożenia. Niestety z Lucene są dziwne problemy na hostingach dzielonych, np. nie udało mi się jej odpalić na home.pl (błąd: to many open files).
O wyszukiwaniu fulltext w pg co nieco poczytałem i jest to dla mnie zakręcone jak ruski termos :/ Niestety oprócz dokumentacji do pg w sieci jest niewiele materiałów na ten temat..

Pytanie do ekspertów: co wybrać? Czy poświęcić jeszcze chwilę czasu na zrozumienie fulltex-a w pg czy wybrać Lucene?
Jakie przygody mieliście z fulltext pg, a jakie przygody z Lucene?
Sedziwoj
Mówiąc o wyszukiwaniu pełno tekstowym dla PostgreSQL masz na myśli Tsearch2? Bo jeśli tak to dla PG 8.2 jest jako dodatek, więc jeśli nie ma na serwerze... do tego wymaga aby było dodane do konkretnej bazy (wymaga procedur operatorów itd.). Więc z nim też jest problem.
Co do wydajności, to z Lucene nie miałem jeszcze (ale już niedługo tak;]) doświadczenia, jedno co wiem to samo wyszukanie w Tsearch jest szybkie (nawet bardzo), ale przy paru tysiącach wyników rankingowanie po trafności zabija serwer. Widzę że w PG 8.3 dodali to rozszerzenie...
http://www.sai.msu.su/~megera/postgres/gist/tsearch/V2/
a tu dokładniejsze wyjaśnienie:
http://www.sai.msu.su/~megera/postgres/gis...rch2-guide.html

Ale sam nie wiem czy to jest lepsze rozwiązanie, na pewno nie jest złe, ale przy dużej ilości danych jednak się już nie spisuje (wspomniane rankingowanie wyników).

@lucassus co do błędu co podałeś na home.pl, może to coś zaradzi?
Cytat
MergeFactor is a good estimation for average number of segments merged by one auto-optimization pass. Too large values produce large number of segments while they are not merged into new one. It may be a cause of "failed to open stream: Too many open files" error message. This limitation is system dependent.

Chyba że to od razu taki błąd miałeś...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.