Apache Lucene is an information retrieval API originally implemented in Java. It is a technology suitable for nearly any application that requires full-text search, especially cross-platform. Lucene has been ported to other programming languages including Perl, C#, C++, Python, Ruby and PHP.