Mit CLucene vs Java Lucene

7

Ich verwende derzeit Java Lucene für eines der Projekte und bekomme OK Art der Leistung. Ich suche nach C / C ++ -Option für Lucene und stieß auf CLUENE auf Sourceforge.

Aber ich wollte überprüfen, ob CLucene so stabil und zuverlässig wie Java Lucene ist und alle Funktionen von Java Lucene unterstützt wird, ist es auch Apache lizenziert und wird aktiv unterstützt? Wenn ja, warum ich keine Option habe, CLucene auf der Apache Lucene Seite herunterzuladen (auf der Apache Lucene Seite habe ich allerdings die lucene.net Option).

Möchten Sie mehr über die Verwendung von CLucene für Unternehmenssoftware erfahren.

    
Rushik 17.02.2012, 07:27
quelle

3 Antworten

14

CLucene ist unter der Apache-Lizenz v2.0 verfügbar und wird bei sourceforce gehostet. Es ist nicht von der Lucene Website herunterladbar, da CLucene ein unabhängiges Projekt ist. Lucy , also ein C-Port von Lucene (für dynamische Sprachen), ist auf der Lucene-Website verfügbar, da es sich um ein Sub-Objekt handelt -Projekt von Lucene. Gleiches gilt für Lucene.NET.

Sofern Sie nicht gezwungen sind, eine JVM-Sprache zu verwenden, würde ich Ihnen empfehlen, die Java-Version zu verwenden.

Alle Entwicklungen werden für die Java-Version durchgeführt und dann manchmal auf andere Ports wie CLucene zurückportiert. Daher sind viele nützliche Funktionen immer noch nur in der Java-Version verfügbar (zum Beispiel sind Funktionsabfragen in CLucene nicht verfügbar).

Hinsichtlich der Leistung ist C / C ++ manchmal schneller als Java, aber es gibt eine Menge Code in der Java-Version, die sehr saubere Algorithmen verwenden, um die Leistung zu verbessern, wie zum Beispiel:

Last but not least ist die Java-Version die am meisten getestete und wird in vielen sehr stark frequentierten Websites wie LinkedIn oder Twitter verwendet.

    
jpountz 17.02.2012, 15:41
quelle
9

CLucene ist stabil und zuverlässig und unter der gleichen Lizenz wie die Java-Version (ASL). Es ist nicht von den Apache-Websites verlinkt, da dieses Projekt nicht unter dem ASF-Dach steht.

CLucene ist der Line-by-Line-Port von Java Lucene, und da es sich um systemeigenen Code handelt (der nicht auf einer VM ausgeführt wird und eigene Speicherzuweisungen / Deallocs ausführt), ist es normalerweise schneller als Java Lucene. Einige Benchmarks (ein bisschen alt jetzt tho) zeigen das. Da es sich um einen exakten Port handelt, ist es zu 100% kompatibel mit Java Lucene-Indizes und umgekehrt.

Der einzige Nachteil bei der Verwendung von CLucene ist, dass es mit der aktuellen Lucene-Version nicht ganz aktuell ist.

    
synhershko 18.02.2012 17:21
quelle
2

Die neueste Version für Lucene ist 5.2 und seit Version 2.3.2 wurden wesentliche Änderungen am Indexdateiformat vorgenommen, die unter Ссылка . Ich glaube nicht, dass es etwas anderes gibt, das aktueller ist als CLucene. Was Lucy betrifft, heißt es auf der Website: Die beiden Bibliotheken sind weder in Bezug auf das Dateiformat noch auf die API kompatibel, und es gibt keine Pläne für eine solche Kompatibilität.

    
D W 15.07.2015 23:33
quelle

Tags und Links