Software:Apache Lucene

From HandWiki
Short description: Java library for full-text search
Lucene
Apache Lucene logo.svg
Developer(s)Apache Software Foundation
Initial release1999; 25 years ago (1999)
Stable release
9.9.2 / January 29, 2024; 17 days ago (2024-01-29)[1]
Written inJava
Operating systemCross-platform
TypeSearch and index
LicenseApache License 2.0
Websitelucene.apache.org

Apache Lucene is a free and open-source search engine software library, originally written in Java by Doug Cutting. It is supported by the Apache Software Foundation and is released under the Apache Software License. Lucene is widely used as a standard foundation for production search applications.[2][3][4]

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

History

Doug Cutting originally wrote Lucene in 1999.[6] Lucene was his fifth search engine. He had previously written two while at Xerox PARC, one at Apple, and a fourth at Excite.[7] 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.[8]

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.[9]

In March 2021, Lucene changed its logo, and Apache Solr became a top level Apache project again, independent from Lucene.

Features and common use

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

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

Lucene has also been used to implement recommendation systems.[13] 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.[14] In contrast, citation-based document similarity measures tended to be more suitable for recommending more broadly related documents,[14] meaning citation-based approaches may be more suitable for generating serendipitous recommendations, as long as documents to be recommended contain in-text citations.

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:

See also

References

  1. "Welcome to Apache Lucene". Lucene™ News section. https://lucene.apache.org/. 
  2. Kamphuis, Chris; de Vries, Arjen P.; Boytsov, Leonid; Lin, Jimmy (2020), "Which BM25 do You Mean? A Large-Scale Reproducibility Study of Scoring Variants", in Jose, Joemon M.; Yilmaz, Emine; Magalhães, João et al. (in en), Advances in Information Retrieval, Lecture Notes in Computer Science, 12036, Cham: Springer International Publishing, pp. 28–34, doi:10.1007/978-3-030-45442-5_4, ISBN 978-3-030-45441-8 
  3. Grand, Adrien; Muir, Robert; Ferenczi, Jim; Lin, Jimmy (2020), "From MAXSCORE to Block-Max Wand: The Story of How Lucene Significantly Improved Query Evaluation Performance", in Jose, Joemon M.; Yilmaz, Emine; Magalhães, João et al. (in en), Advances in Information Retrieval, Lecture Notes in Computer Science, 12036, Cham: Springer International Publishing, pp. 20–27, doi:10.1007/978-3-030-45442-5_3, ISBN 978-3-030-45441-8 
  4. Azzopardi, Leif; Moshfeghi, Yashar; Halvey, Martin; Alkhawaldeh, Rami S.; Balog, Krisztian; Di Buccio, Emanuele; Ceccarelli, Diego; Fernández-Luna, Juan M. et al. (2017-02-14). "Lucene4IR: Developing Information Retrieval Evaluation Resources using Lucene" (in en). ACM SIGIR Forum 50 (2): 58–75. doi:10.1145/3053408.3053421. ISSN 0163-5840. https://dl.acm.org/doi/10.1145/3053408.3053421. 
  5. "LuceneImplementations". apache.org. http://wiki.apache.org/lucene-java/LuceneImplementations. 
  6. KeywordAnalyzer "Better Search with Apache Lucene and Solr". 19 November 2007. http://trijug.org/downloads/TriJug-11-07.pdf. 
  7. Cutting, Doug (2019-06-07). "I wrote a couple of search engines at Xerox PARC, then V-Twin at Apple, then re-wrote Excite's search, then Lucene. So, Lucene might be considered V-Twin 3.0? Almost 25 years later, V-Twin still lives on as Mac OS X Search Kit!" (in en). https://twitter.com/cutting/status/1137030687003774976. 
  8. Barker, Deane (2016). Web Content Management. O'Reilly. p. 233. ISBN 978-1491908105. 
  9. "Apache Lucene - Welcome to Apache Lucene". apache.org. https://lucene.apache.org/. 
  10. McCandless, Michael; Hatcher, Erik; Gospodnetić, Otis (2010). Lucene in Action, Second Edition. Manning. p. 8. ISBN 978-1933988177. https://archive.org/details/luceneactionseco00hatc. 
  11. "GNU/Linux Semantic Storage System". http://www.glscube.org/downloads/glscube_design.pdf. 
  12. "Apache Lucene - Query Parser Syntax". https://lucene.apache.org/core/2_9_4/queryparsersyntax.html#Fuzzy+Searches. 
  13. 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
  14. 14.0 14.1 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.
  15. Wayner, Peter. "11 cutting-edge databases worth exploring now". InfoWorld. http://www.infoworld.com/article/2984469/database/11-cutting-edge-databases-worth-exploring-now.html. 
  16. "Elasticsearch: RESTful, Distributed Search & Analytics - Elastic". elastic.co. https://www.elastic.co/products/elasticsearch. 
  17. "The Future of Compass & Elasticsearch" (in en). http://thedudeabides.com/articles/the_future_of_compass/. 
  18. 18.0 18.1 Natividad, Angela. "Socialtext Updates Search, Goes Kino". CMS Wire. http://www.cmswire.com/cms/enterprise-20/socialtext-updates-search-goes-kino-001037.php. 
  19. Marvin Humphrey. "KinoSearch - Search engine library. - metacpan.org". p3rl.org. http://p3rl.org/KinoSearch#DESCRIPTION. 
  20. Diment, Kieren; Trout, Matt S (2009). "Catalyst Cookbook". The Definitive Guide to Catalyst. Apress. p. 280. ISBN 978-1-4302-2365-8. https://archive.org/details/definitiveguidet00dime_868. 
  21. Wishart, D. S. et al. (January 2009). "HMDB: a knowledgebase for the human metabolome". Nucleic Acids Res. 37 (Database issue): D603–10. doi:10.1093/nar/gkn810. PMID 18953024. 
  22. Lim, Emilia; Pon, Allison; Djoumbou, Yannick; Knox, Craig; Shrivastava, Savita; Guo, An Chi; Neveu, Vanessa; Wishart, David S. (January 2010). "T3DB: a comprehensively annotated database of common toxins and their targets". Nucleic Acids Res. 38 (Database issue): D781–6. doi:10.1093/nar/gkp934. PMID 19897546. 

Bibliography

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

External links