Lucene を C 言語で使う

結論からいうと、C/C++ 用のライブラリはいくつかあるんだけどどれも芳しくない。
強いて言えば Lucy だが、実装言語自体を Java に見直すのが賢いだろう。

Lucene4c

Lucene4c Incubation Status - Apache Incubator

  • Lucene の C バインドライブラリ。
  • Apache のインキュベータプロジェクト。
  • lib 以下に jar ファイルが入っているので、C のレイヤから Java のメソッドをコールしているのだろう。
  • 2006年10月をもって開発終了。

CLucene

CLucene - lightning fast C++ search engine

  • Lucene の C 実装。
  • Java を介さないので Lucene より高速に動作する。
  • Lucene 2.3.2 までしか追従できていない。

Lucene++

GitHub - luceneplusplus/LucenePlusPlus: Lucene++ is an up to date C++ port of the popular Java Lucene library, a high-performance, full-featured text search engine.

  • 昔調べた時にはなかったライブラリ。
  • 詳細なドキュメントはなくて、使ってみた系の記事もなさそう。
  • demo プログラムのソースを見る限り、それっぽい感じで書けそう。
  • C++ ライブラリなので C には対応しない。
  • Boost に依存しているので Boost 必須。

Apache Lucy

Apache Lucy

  • Lucene の C 実装。
  • Perl 実装も用意している。
  • 最新のリリース(0.6.2)が 2018-02-20 で、開発も継続しているように見える。_
  • Lucene の全ての機能を提供するわけではないことを表明している。("loose C" port)