|This article needs additional citations for verification. (February 2012)|
|Developer(s)||Apache Software Foundation|
|Stable release||4.7.2 / April 15, 2014|
|Type||Search and index|
|License||Apache License 2.0|
Apache Lucene is a free/open source information retrieval software library, originally created in Java by Doug Cutting. It is supported by the Apache Software Foundation and is released under the Apache Software License.
Doug Cutting originally wrote Lucene in 1999. It was initially available for download from its home at the SourceForge web site. It joined the Apache Software Foundation's Jakarta family of open-source Java products in September 2001 and became its own top-level Apache project in February 2005. Until recently,[when?] it included a number of sub-projects, such as Lucene.NET, Mahout, Solr and Nutch. Solr has merged into the Lucene project itself and Mahout, Nutch, and Tika have moved to become independent top-level projects.
Version 4.0 was released on 12 October 2012.
Features and common use
While suitable for any application which requires full text indexing and searching capability, Lucene has been widely recognized for its utility in the implementation of Internet search engines and local, single-site searching.
At the core of Lucene's logical architecture is the idea of a document containing fields of text. This flexibility allows Lucene's API to be independent of the file format. Text from PDFs, HTML, Microsoft Word, and OpenDocument documents, as well as many others (except images), can all be indexed as long as their textual information can be extracted.
- Apache Nutch — provides web crawling and HTML parsing
- Apache Solr — an enterprise search server
- Elasticsearch — an enterprise search server
- Compass — a Java Search Engine Framework
- DocFetcher — a multiplatform desktop search application
- Lucene.NET — a port of Lucene written in C# and targeted at .NET Framework users. There are currently two variations of the software, differing in Generics support and a few bug fixes.
- Ferret — a search library for Ruby (programming language) inspired by Lucene. There is also a Ruby on Rails plugin called acts_as_ferret. Ferret utilizes Poshlib.
- Kinosearch — a search engine written in Perl and C and a loose port of Lucene. The Socialtext wiki software uses this search engine, and so does the MojoMojo wiki. It is also used by the Human Metabolome Database (HMDB) and the Toxin and Toxin-Target Database (T3DB).
- Hibernate search
- Sphinx (search engine)
- List of information retrieval libraries
- Information extraction
- Text mining
- eGranary Digital Library
- Lucene implementations
- "Better Search with Apache Lucene and Solr". 19 November 2007.
- McCandless, Michael; Hatcher, Erik; Gospodnetić, Otis (2010). Lucene in Action, Second Edition. Manning. p. 8. ISBN 1933988177.
- GNU/Linux Semantic Storage System
- Perner, Petra (2007). Machine Learning and Data Mining in Pattern Recognition: 5th International Conference. Springer. p. 387. ISBN 978-3-540-73498-7.
- https://github.com/jkraemer/ferret Ferret-Github repository
- Natividad, Angela. "Socialtext Updates Search, Goes Kino". CMS Wire. Retrieved 2011-05-31.
- Description on CPAN
- Diment, Kieren; Trout, Matt S (2009). "Catalyst Cookbook". The Definitive Guide to Catalyst. Apress. p. 280. ISBN 978-1-4302-2365-8.
- "HMDB: a knowledgebase for the human metabolome". Nucleic Acids Res. 37 (Database issue): D603–10. January 2009. doi:10.1093/nar/gkn810. PMC 2686599. PMID 18953024.
- "T3DB: a comprehensively annotated database of common toxins and their targets". Nucleic Acids Res. 38 (Database issue): D781–6. January 2010. doi:10.1093/nar/gkp934. PMC 2808899. PMID 19897546.
- Michael McCandless; Erik Hatcher; Otis Gospodnetić (2010). Lucene in Action (2 ed.). Manning Publications. p. 338. ISBN 978-1-933988-17-7.
- [dead link]
- Twitter uses Lucene
- Official website
- List of Lucene Ports (or Implementations) in Other Languages on the Apache wiki
- Introductory article with Java code for search (This page is on Internet Archive) on Wikipedia data
- An article with explanation and example implementation of Lucene.Net