2010-06-14 4 views
12

나는 Lucene 프로젝트의 Zend Lucene 포트에 빠져 들었다. 나는 SOLR에 대한 약간의 경험을 가지고 있으므로 성능과 설치면에서 두 가지의 차이점을 알고 싶습니다.Zend_Search_Lucene 대 SOLR

SOLR이 작동하려면 웹 호스팅에서 실행되는 Tomcat 서버 렛이 필요하다는 것만큼 Zend Lucene 라이브러리는 어떻습니까?

나는 "Lucene의 상단에 구현되고있다"는 것을 조금 혼란스럽게 생각합니까?

답변

18

Java Lucene 및 Zend Lucene을 포함한 다른 언어로의 모든 포트는 라이브러리입니다.

이것은 Zend Lucene을 사용하려면 다른 애플리케이션 (PHP) 코드로 둘러 싸야합니다. 그러면 다른 애플리케이션과 검색이 통합됩니다. 일반적으로 코드는 색인 생성, 검색 및 일반적으로 Lucene의 관리를 관리해야합니다. PHP 함수 호출을 사용하여 Zend Lucene과 통신합니다.

Solr, OTOH는 Lucene 위에 구축 된 서버입니다. 즉, Solr 인스턴스는 서블릿 컨테이너 (Tomcat, Jetty 또는 다른 여러 프로그램 중 하나 일 수 있음) 내에 독립 실행 형 서버 webapp로 실행할 수 있습니다. Lucene 응용 프로그램보다 Solr 서버를 설치하는 것이 훨씬 쉽습니다. Java의 한 줄을 작성하지 않고도 Solr을 통해 많은 작업을 수행 할 수 있습니다. XML 구성 파일을 수정하면됩니다. Solr 서버를 설정하는 데는 몇 분이 걸릴 수 있습니다. Solr과 통신하는 기본 방법은 HTTP 호출을 사용하는 것입니다.

기본적으로 Zend Lucene을 설치하려면 PHP 라이브러리가 있어야하며 PHP 라이브러리를 사용하여 적절한 색인 생성 및 검색이 필요합니다. Solr을 설치하려면 Java 서블릿 컨테이너를 실행하고 war 파일을 배포해야합니다.

성능과 관련하여 Solr에는 Lucene 캐싱 및 기타 여러 매개 변수가 최적화되어 있습니다. 또한 Zend Lucene은 Java Lucene보다 느리다고 생각합니다. 따라서 Solr이 더 빨라지 겠지만 실제로는 특정 애플리케이션에 달려 있습니다.

+0

그래, Zend Lucene은 성능면에서 Java와 아무런 관련이 없습니다. – demonkoryu