Использование CLucene против java lucene

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

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

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

3 ответов


CLucene доступен под лицензией Apache версии 2.0 и хранится в sourceforge. Он не загружается с веб-сайта Lucene, потому что CLucene является независимым проектом. Однако,Люси, который является портом C Lucene (targetting dynamic languages), доступен с веб-сайта Lucene, потому что это подпроект Lucene. То же самое относится и к Lucene.NET.

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

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

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

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


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

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

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


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