2012-02-17 6 views
7

현재 프로젝트 중 하나에 Java lucene을 사용하고 있으며 성능이 정상입니다. 나는 lucene에 대한 C/C++ 옵션을 찾고 있으며 sourceforge에서 CLucene을 발견했습니다.CLucene vs java lucene 사용

하지만 CLucene이 Java lucene만큼 안정적이고 안정적인지, Java Lucene에서 지원하는 모든 기능을 갖고 있는지 확인하고 싶었습니다. 또한 Apache 라이선스가 있고 적극 지원 되었습니까? 그렇다면 왜 내가 아파치 Lucene 사이트 (lucene.net 옵션을 가지고 아파치 lucene 사이트에)에 CLucene을 다운로드 할 수있는 옵션이 없어.

엔터프라이즈 소프트웨어 용 CLucene 사용에 대해 더 자세히 알고 싶습니다.

답변

14

CLucene은 Apache License v2.0에서 사용할 수 있으며 sourceforce에서 호스팅됩니다. CLucene은 독립적 인 프로젝트이므로 Lucene 웹 사이트에서 다운로드 할 수 없습니다. 그러나 Lucene의 C 포트 인 Lucy (동적 언어 타겟팅)은 Lucene의 하위 프로젝트이기 때문에 Lucene 웹 사이트에서 구할 수 있습니다. Lucene.NET에도 동일하게 적용됩니다.

JVM 언어를 사용하지 않는 한 Java 버전을 사용하는 것이 좋습니다.

모든 개발은 Java 버전에 대해 수행 된 다음 CLucene과 같은 다른 포트로 백 포트되는 경우가 있습니다. 결과적으로 많은 유용한 기능이 여전히 Java 버전에서만 사용 가능합니다 (예 : CLucene에서 기능 쿼리를 사용할 수 없음). 성능에 관해서는

, C/C++에서 때로는 자바보다 더 빨리 될 수도 있지만 같은 성능을 향상시키기 위해 매우 깔끔한 알고리즘을 사용하는 Java 버전의 코드 조각의 많은이 있습니다 :

자바 버전은 가장 많이 테스트 된 것으로서 링크드 인이나 트위터와 같이 트래픽이 많은 웹 사이트에서 많이 사용됩니다.

+2

Lucene.Net 및 Lucy는 독립형 프로젝트입니다. Lucy는 많은 경우 Java Lucene보다 빠르지 않으며 색인 호환이 가능하도록 설계되지 않았습니다 (즉, Java lucene으로 작성한 색인은 Lucy와 함께 실행되지 않습니다). 이는 Lucy의 웹 사이트 http://incubator.apache.org/에서 직접 가져온 것입니다. lucy/ – Prescott

+0

불행히도 lucene은 다른 프로그램에 임베드 할 수 없습니다.전체 텍스트 색인은 많은 프로그램에서 매우 유용합니다. – Lothar

9

CLucene은 안정적이고 신뢰성이 높으며 Java 버전 (ASL)과 동일한 라이센스가 부여됩니다. 이 프로젝트는 ASF 우산 아래에 있지 않으므로 Apache 웹 사이트와 연결되어 있지 않습니다.

CLucene은 Java Lucene의 라인 별 포트이며 원시 코드 (VM에서 실행되지 않고 다른 것들 중에서 자체 메모리 allocs/deallocs를 수행함)이기 때문에 일반적으로 Java Lucene보다 빠릅니다. 일부 벤치 마크 (조금 오래된 지금 tho)는 그것을 보여준다. 정확한 포트이므로 Java Lucene 인덱스와 100 % 호환되며 반대의 경우도 마찬가지입니다.

CLucene을 사용할 때의 단점은 현재 Lucene 버전에서 완전히 업데이트되지 않았기 때문입니다.

+0

cLucene 페이지는 더 오래된 버전 (1.9.1)보다 안정적인 버전을 사용하거나 최신 버전이지만 신뢰성이 떨어질 수 있다고 말합니다. 불안정한 머리가 어땠는지 알아? 또한 누가 cLucene을 사용하는지에 대한 페이지를 보지 못했습니다. 너 알아? –

+0

2.3.2 릴리스는 안정적입니다.이 프로젝트의 개발에 적극적으로 참여한 이래로 적어도 1 ~ 2 년이되었습니다. – synhershko

+0

"완전히 최신이 아니며" Java Lucene의 최신 버전은 6.2.1이며 최신 CLucene 버전은 Java Lucene 2.3.2를 기반으로합니다. 또한, 마지막 CLucene 릴리스는 3 년 전이었습니다. 진지한 후원이 없으면 자바 버전을 따라갈 수있는 방법이 없다. – rustyx

2

Lucene의 최신 버전은 5.2이고 인덱스 파일 형식은 2.3.2 (이후 https://lucene.apache.org/core/5_2_1/core/org/apache/lucene/codecs/lucene50/package-summary.html#package_description)로 크게 변경되었습니다. CLUSEN보다 더 많이 업데이트 된 것이 있다고 생각하지 않습니다. Lucy의 경우 웹 사이트에 다음과 같이 명시되어 있습니다. 두 라이브러리는 파일 형식 또는 API와 호환되지 않으며 이러한 호환성을 설정할 계획이 없습니다.