Lucene

From Wikipedia, the free encyclopedia
Lucene
Developer(s) Apache Software Foundation
Stable release 4.6.1 / January 28, 2014 (2014-01-28)
Development status Active
Written in Java
Operating system Cross-platform
Type Search and index
License Apache License 2.0
Website lucene.apache.org

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.

Lucene has been ported to other programming languages including Delphi, Perl, C#, C++, Python, Ruby, and PHP.[1]

History

Doug Cutting originally wrote Lucene in 1999.[2] 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, 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.[3]

Features and common use

While suitable for any application which requires full text indexing and searching capability, Lucene has been widely recognized[4][5] 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.[6]

Lucene-based projects

Lucene itself is just an indexing and search library and does not contain crawling and HTML parsing functionality. However, several projects extend Lucene's capability:

  • 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

Lucene.NET is 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. The version that supports Generics has a lowercase "g" appended to the version name to distinguish between the two.[citation needed]

Regardless of generics support, all versions of Lucene.NET (with or without the "g") should be able to read and write index files from the corresponding version of Java Lucene with no issues.[citation needed]

Users

For a list of companies that use Lucene (rather than extend), see Lucene's "Powered By" page.[7] As an example, Twitter is using Lucene for its real time search.[8]

See also

References

  1. Lucene implementations
  2. "Better Search with Apache Lucene and Solr". 19 November 2007. 
  3. http://lucene.apache.org/
  4. McCandless, Michael; Hatcher, Erik; Gospodnetić, Otis (2010). Lucene in Action, Second Edition. Manning. p. 8. ISBN 1933988177. 
  5. GNU/Linux Semantic Storage System
  6. Perner, Petra (2007). Machine Learning and Data Mining in Pattern Recognition: 5th International Conference. Springer. p. 387. ISBN 978-3-540-73498-7. 
  7. PoweredBy
  8. Twitter uses Lucene

Bibliography

  • Gospodnetic, Otis; Erik Hatcher, Michael McCandless (28 June 2009). Lucene in Action (2nd ed.). Manning Publications. p. 475. ISBN 1-9339-8817-7. 
  • Gospodnetic, Otis; Erik Hatcher (1 December 2004). Lucene in Action (1st ed.). Manning Publications. p. 456. ISBN 978-1-9323-9428-3. 

External links

This article is issued from Wikipedia. The text is available under the Creative Commons Attribution/Share Alike; additional terms may apply for the media files.