Apache Lucene
It has been suggested that Ferret search library, KinoSearch and Lucene.net be merged into this article. (Discuss) Proposed since May 2011. |
Developer(s) | Apache Software Foundation |
---|---|
Stable release | 3.3
/ July 1, 2011 |
Repository | |
Written in | Java |
Operating system | Cross-platform |
Type | Search and index |
License | Apache License 2.0 |
Website | http://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.
History
Lucene was originally written by Doug Cutting. 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 Java, Droids, Lucene.Net, Lucy, Mahout, Solr, Nutch, Open Relevance Project, PyLucene and Tika. Solr has been merged into the Lucene project itself and Mahout, Nutch and Tika have been moved to be independent top-level projects.
Features and common use
While suitable for any application which requires full text indexing and searching capability, Lucene has been widely recognized [1][2] 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.
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 – a fully featured search server
- Compass – a Java Search Engine Framework
For a list of companies that use Lucene (rather than extend), see Lucene's PoweredBy page.
See also
- Lucene.net
- Hadoop
- Hibernate search
- Xapian
- Sphinx (search engine)
- LGTE
- Information Extraction
- Text mining
References
- ^ Perner, Petra (2007). Machine Learning and Data Mining in Pattern Recognition: 5th International Conference. Springer. p. 387. ISBN 978-3-540-73498-7.
{{cite book}}
: Cite has empty unknown parameter:|coauthors=
(help) - ^ GNU/Linux Semantic Storage System
Bibliography
- Gospodnetic, Otis (June 28, 2009). Lucene in Action (2nd ed.). Manning Publications. p. 475. ISBN 1-933988-17-7.
{{cite book}}
: Unknown parameter|coauthors=
ignored (|author=
suggested) (help) - Gospodnetic, Otis (December 1, 2004). Lucene in Action (1st ed.). Manning Publications. p. 456. ISBN 978-1-932394-28-3.
{{cite book}}
: Unknown parameter|coauthors=
ignored (|author=
suggested) (help)
External links
- Lucene homepage
- 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
- Lucene FAQ
- Lucene Architecture and Documentation
- Luke (Lucene Index Toolbox)
- LuSql High performance JDBC-to-Lucene index builder
- ElasticSearch – A Distributed, Highly Available, RESTful Search Engine