Apache Lucene

From Wikipedia, the free encyclopedia
  (Redirected from Lucene)
Jump to navigation Jump to search
Lucene logo green.svg
Developer(s)Apache Software Foundation
Initial release1999 (1999)
Stable release
7.7.0 / February 11, 2019 (2019-02-11)[1]
Written inJava
Operating systemCross-platform
TypeSearch and index
LicenseApache License 2.0

Apache Lucene is a free and open-source information retrieval software library, originally written completely 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 Object Pascal, Perl, C#, C++, Python, Ruby and PHP.[2]


Doug Cutting originally wrote Lucene in 1999.[3] 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. The name Lucene is Doug Cutting's wife's middle name and her maternal grandmother's first name.[4]

Lucene formerly included a number of sub-projects, such as Lucene.NET, Mahout, Tika and Nutch. These three are now independent top-level projects.

In March 2010, the Apache Solr search server joined as a Lucene sub-project, merging the developer communities.

Version 4.0 was released on October 12, 2012.[5]

Features and common use[edit]

While suitable for any application that requires full text indexing and searching capability, Lucene has been widely recognized[6][7] for its utility in the implementation of Internet search engines and local, single-site searching.

Lucene includes a feature to perform a fuzzy search based on edit distance.[8]

Lucene has also been used to implement recommendation systems.[9] For example, Lucene's 'MoreLikeThis' Class can generate recommendations for similar documents. In a comparison of the term vector-based similarity approach of 'MoreLikeThis' with citation-based document similarity measures, such as Co-citation and Co-citation Proximity Analysis Lucene's approach excelled at recommending documents with very similar structural characteristics and more narrow relatedness.[10] In contrast, citation-based document similarity measures tended to be more suitable for recommending more broadly related documents,[10] meaning citation-based approaches may be more suitable for generating serendipitous recommendations, as long as documents to be recommended contain in-text citations.

At the core of Lucene's logical architecture is the idea of a document containing fields of text. This flexibility allows Lucene's API (Application Programming Interface) to be independent of the file format. Text from PDFs, HTML, Microsoft Word, Mind Maps, and OpenDocument documents, as well as many others (except images), can all be indexed as long as their textual information can be extracted.[11]

Lucene-based projects[edit]

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:


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

See also[edit]


  1. ^ "Welcome to Apache Lucene". Lucene™ News section. Archived from the original on 11 February 2019. Retrieved 11 February 2019.
  2. ^ "LuceneImplementations". apache.org. Archived from the original on 6 October 2015. Retrieved 23 September 2015.
  3. ^ KeywordAnalyzer "Better Search with Apache Lucene and Solr" (PDF). 19 November 2007. Archived from the original (PDF) on 31 January 2012.
  4. ^ Barker, Deane (2016). Web Content Management. O'Reilly. p. 233. ISBN 1491908106.
  5. ^ "Apache Lucene - Welcome to Apache Lucene". apache.org. Archived from the original on 4 February 2016. Retrieved 4 February 2016.
  6. ^ McCandless, Michael; Hatcher, Erik; Gospodnetić, Otis (2010). Lucene in Action, Second Edition. Manning. p. 8. ISBN 1933988177.
  7. ^ "GNU/Linux Semantic Storage System" (PDF). glscube.org. Archived from the original (PDF) on 2010-06-01.
  8. ^ "Apache Lucene - Query Parser Syntax". lucene.apache.org. Archived from the original on 2017-05-02.
  9. ^ J. Beel, S. Langer, and B. Gipp, “The Architecture and Datasets of Docear’s Research Paper Recommender System,” in Proceedings of the 3rd International Workshop on Mining Scientific Publications (WOSP 2014) at the ACM/IEEE Joint Conference on Digital Libraries (JCDL 2014), London, UK, 2014
  10. ^ a b M. Schwarzer, M. Schubotz, N. Meuschke, C. Breitinger, V. Markl, and B. Gipp, https://www.gipp.com/wp-content/papercite-data/pdf/schwarzer2016.pdf "Evaluating Link-based Recommendations for Wikipedia" in Proceedings of the 16th ACM/IEEE-CS Joint Conference on Digital Libraries (JCDL), New York, NY, USA, 2016, pp. 191-200.
  11. ^ Perner, Petra (2007). Machine Learning and Data Mining in Pattern Recognition: 5th International Conference. Springer. p. 387. ISBN 978-3-540-73498-7.
  12. ^ a b "What are the main differences between ElasticSearch, Apache Solr and SolrCloud? - Quora". quora.com. Retrieved 23 September 2015.
  13. ^ "The Future of Compass & Elasticsearch". the dude abides. Archived from the original on 2015-10-15. Retrieved 2015-10-14.
  14. ^ Wayner, Peter. "11 cutting-edge databases worth exploring now". InfoWorld. Archived from the original on 21 September 2015. Retrieved 21 September 2015.
  15. ^ "Elasticsearch: RESTful, Distributed Search & Analytics - Elastic". elastic.co. Archived from the original on 8 October 2015. Retrieved 23 September 2015.
  16. ^ a b Natividad, Angela. "Socialtext Updates Search, Goes Kino". CMS Wire. Archived from the original on 2012-09-29. Retrieved 2011-05-31.
  17. ^ Marvin Humphrey. "KinoSearch - Search engine library. - metacpan.org". p3rl.org. Retrieved 23 September 2015.
  18. ^ Diment, Kieren; Trout, Matt S (2009). "Catalyst Cookbook". The Definitive Guide to Catalyst. Apress. p. 280. ISBN 978-1-4302-2365-8.
  19. ^ "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.
  20. ^ "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.
  21. ^ Riley, Matt (May 9, 2012). "What is the technology stack behind Swiftype? - Quora". Quora. Retrieved 3 October 2014.
  22. ^ "PoweredBy". apache.org. Archived from the original on 21 September 2015. Retrieved 23 September 2015.
  23. ^ MG Siegler. "Twitter Quietly Launched A New Search Backend Weeks Ago". TechCrunch. AOL. Archived from the original on 25 September 2015. Retrieved 23 September 2015.


External links[edit]