2010-05-23 13 views
6

Zend Lucene i Java Lucene są zbudowane w PHP i java repectively, a język PHP ma wyższy poziom niż Java.Porównanie wydajności między Zend Lucene i Javą Lucene

Zastanawiasz się Jak duża jest różnica wydajności między tymi dwoma elementami, jeśli chodzi o indeksowanie budynków i wyszukiwanie danych?

Czy o wiele bardziej efektywne jest tworzenie i przebudowywanie indeksu przez javę, a PHP może używać indeksu?

Odpowiedz

12

Jest to cytat z Zend Certified Engineer.

wbrew mojej lepszej wyroku, spółka Pracuję dla migracji naszą poprzedni szukania rozwiązania Zend_Search_Lucene. Na ładnym, ciężkim sprzęcie indeksowanie dokumentów o wartości milionów zajęło kilka godzin, , a wyszukiwania były stosunkowo powolne. Proces indeksowania pochłonął ogromne ilości pamięci , a indeksy często uległy uszkodzeniu (przy użyciu wersji 1.5.2). pojedyncza wyszukiwarka wieloznaczna dosłownie przyniosła serwer internetowy do kolan, , więc wyłączyliśmy tę funkcję. Pamięć użycie było bardzo wysokie dla wyszukiwań, a w wyniku żądania na sekundę z konieczności zmniejszyły się znacznie, ponieważ mieliśmy , aby zmniejszyć liczbę procesów Apache podrzędnych .

Od tego czasu przenieśliśmy się do Solr (serwer wyszukiwania Java oparty na Lucene) i różnica jest dramatyczna. Indeksowanie zajmuje teraz około 10 minut, a wyszukiwanie przebiega błyskawicznie. Co za różnica sprawia język.

Original Article

W tym przypadku, Jawa.

+0

Ditto Inkspeak również. –

+1

Dzięki. Wciąż myślę, że na początku będę trzymać się Zend_Search_Lucene, aby poradzić sobie z programem Zend Framework. Następnie przechodzę do zaawansowanych rozwiązań, gdy wydajność jest niedopuszczalna. Zend Lucene jest kompatybilny z indeksem zbudowanym przez Javę Lucene. Mogę więc z łatwością przejść do indeksowania JAVA Lucene w przyszłości. – Capitaine

+2

Oto wskazówka - podczas opracowywania abstrakcyjnych wywołań wyszukiwania, aby można było łatwo wtyczki dowolnej wyszukiwarki do użycia. Pozwoli to zaoszczędzić czas, jeśli zajdzie potrzeba ponownego zaprojektowania kodu dla innego źródła danych. –

2

Kiedy zadałem pytanie o Zend Evangelist i jeden z ich wynajętych pistoletów, powiedziano mi, że Java Lucene zapewnia znacznie lepsze wyniki. Ich główne punkty dotyczyły obsługi znaków UTF8 i szybkości indeksowania (o ile dobrze pamiętam). Wygląda na to, że Java Lucene jest o wiele lepsza.

Does Zend Lucene need Java Lucene?