The Lucene4c project is an implementation of the Lucene search engine in C, built on top of the Apache Portable Runtime.

Lucene4c is an effort undergoing incubation at the Apache Software Foundation (ASF). Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.

The incubation status is recorded at

Unlike some other Lucene ports, Lucene4c does not stick to the API used in the original Java based Lucene when a more idiomatic APR and C API makes more sense. The goal is to remain compatible with the on-disk format used by Java Lucene (currently that of Lucene 1.4.x) but to provide an API that makes sense to programmers used to coding in C with APR.

Currently Lucene4c is read-only, and only the lowest level portions of the search engine has been implemented. The goal is to implement the remaining parts of the search side of Lucene4c first, and then to begin work on indexing support. In the meantime the Java Lucene must be used to create the index searched by Lucene4c.



The project currently has no releases available.


There is API documentation generated via Doxygen comments in the public header files.

Other than that, you can always "Use the source, Luke". The file src/cmdline/main.c contains some good high level use of the APIs and would probably be the best place to start.


The Lucene4c project always welcomes new contributors. The project operates via its version control system, mailing lists, and issue tracker.

Version Control

Grab the current development version of Lucene4c from its Subversion repository at

Mailing Lists

Discussion about the project occurs on its mailing list, c-dev at, to subscribe, send a message to c-dev-subscribe at

Commit notifications are sent to commits at, to subscribe send a message to commits-subscribe at

Archives of the lists are available at:

Issue Tracking

Lucene4c uses the ASF Jira installation for issue tracking. You can view open issues, create new ones, and see what issues we've fixed via the web interface at

Note that to create a new issue or comment on an existing one you'll have to sign up for an account.