Frage

Ich verwende derzeit Java Lucene für eines der Projekte und erhalte eine gute Leistung.Ich suche nach einer C/C++-Option für Lucene und bin bei SourceForge auf CLucene gestoßen.

Aber ich wollte prüfen, ob CLucene genauso stabil und zuverlässig ist wie Java Lucene und ob alle Funktionen von Java Lucene unterstützt werden. Ist es außerdem von Apache lizenziert und wird es aktiv unterstützt?Wenn JA, warum habe ich keine Option zum Herunterladen von CLucene auf der Apache Lucene-Site (auf der Apache Lucene-Site habe ich jedoch die Option lucene.net).

Ich würde gerne mehr über die Verwendung von CLucene für Unternehmenssoftware erfahren.

War es hilfreich?

Lösung

Clucene ist unter der Apache -Lizenz v2.0 erhältlich und wird bei gehostet SourceForge. Es ist nicht von der Lucene -Website heruntergeladen, da Clucene ein unabhängiges Projekt ist. Jedoch, Lucy, das ein C-Port von Lucene (Zieldynamiksprachen) ist, ist auf der Lucene-Website erhältlich, da es sich um ein Unterprojekt von Lucene handelt. Gleiches gilt für Lucene.net.

Wenn Sie nicht gezwungen sind, keine JVM -Sprache zu verwenden, würde ich empfehlen, die Java -Version zu verwenden.

Alle Entwicklungen werden für die Java -Version durchgeführt und dann manchmal an andere Ports wie Clucen zurückgeschrieben. Infolgedessen sind viele nützliche Funktionen nur noch in der Java -Version verfügbar (beispielsweise Funktionen sind in Clucen nicht verfügbar).

In Bezug auf die Leistung ist C/C ++ manchmal schneller als Java, aber es gibt viele Code -Teile in der Java -Version, die sehr ordentliche Algorithmen verwenden, um die Leistung zu verbessern, z. B.:

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

Andere Tipps

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

CLucene ist eine zeilenweise Portierung von Java Lucene und da es sich um nativen Code handelt (der nicht auf einer VM läuft und unter anderem seine eigenen Speicherzuweisungen/-freigaben durchführt) ist es normalerweise schneller als Java Lucene.Einige (mittlerweile schon etwas ältere) Benchmarks zeigen das.Da es sich um einen exakten Port handelt, ist er zu 100 % mit Java Lucene-Indizes kompatibel und umgekehrt.

Der einzige Nachteil bei der Verwendung von CLucene besteht darin, dass es nicht ganz auf dem neuesten Stand der aktuellen Lucene-Version ist.

Die neueste Version für Lucene beträgt 5,2, und seit 2.3.2 wurden signifikante Änderungen am Indexdateiformat vorgenommen, die unter aufgeführt sind https://lucene.apache.org/core/5_2_1/core/org/apache/lucene/codecs/lucene50/package-summary.html#package_description. Ich glaube nicht, dass noch etwas verfügbar ist, das mehr aktualisiert ist als Clucen. In Lucy heißt es auf der Website: Die beiden Bibliotheken sind weder in Bezug auf Dateiformat noch API kompatibel, und es gibt keine Pläne, eine solche Kompatibilität festzulegen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top