Использование CLucene против Java Lucene - PullRequest
7 голосов
/ 17 февраля 2012

В настоящее время я использую Java Lucene для одного из проектов и получаю нормальную производительность. Я ищу C / C ++ вариант для lucene и наткнулся на CLucene на sourceforge.

Но я хотел проверить, является ли CLucene столь же стабильным и надежным, как Java Lucene, и имеет ли все функции, поддерживаемые Java Lucene, также лицензируется ли Apache и активно ли он поддерживается? Если ДА, почему у меня нет возможности загрузить CLucene на сайте Apache Lucene (хотя на сайте Apache Lucene у меня есть опция lucene.net).

Хотелось бы больше узнать об использовании CLucene для корпоративного программного обеспечения.

Ответы [ 3 ]

14 голосов
/ 17 февраля 2012

CLucene доступен по лицензии Apache v2.0 и размещен на sourceforge .Его нельзя загрузить с веб-сайта Lucene, потому что CLucene - независимый проект.Однако Lucy , который является портом C Lucene (для динамических языков), доступен на веб-сайте Lucene, потому что это подпроект Lucene.То же самое относится и к Lucene.NET.

Если вы не вынуждены не использовать язык JVM, я бы порекомендовал вам использовать версию Java.

Все разработки выполняются для версии Java, а затем иногда переносятся в другие порты, такие как CLucene.Как следствие, множество полезных функций все еще доступны только в версии Java (например, запросы функций недоступны в CLucene).

Что касается производительности, C / C ++ иногда может быть быстрее, чем Java, но естьмного частей кода в версии Java, которые используют очень аккуратные алгоритмы для повышения производительности, такие как:

И последнее, но не менее важное: версия Java является наиболее проверенной и используется на многих сайтах с очень высоким трафиком, такихкак LinkedIn или Twitter.

9 голосов
/ 18 февраля 2012

CLucene является стабильным и надежным и имеет ту же лицензию, что и версия Java (ASL). Он не связан с веб-сайтами Apache, так как этот проект не находится под эгидой ASF.

CLucene является построчным портом Java Lucene, и, будучи нативным кодом (не работающим на ВМ и выполняющим свою собственную память, выделяет / освобождает память среди прочего), он обычно быстрее, чем Java Lucene. Некоторые тесты (немного устаревшие сейчас) показывают это. Будучи точным портом, он на 100% совместим с индексами Java Lucene и наоборот.

Единственным недостатком использования CLucene является то, что он не полностью соответствует текущей версии Lucene.

2 голосов
/ 16 июля 2015

Последняя версия для 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.. Я не верю, что есть что-то еще, что более обновлено, чем CLucene,Что касается Люси, веб-сайт заявляет, что: две библиотеки не совместимы ни с точки зрения ни формата файла, ни API, и не планируется устанавливать такую ​​совместимость.

...