Lucene
Lucene 是一套用于全文检索 和搜尋 的開放源碼 程式庫 ,由Apache软件基金会 支持和提供。Lucene提供了一個簡單卻強大的應用程式介面,能夠做全文索引和搜索。Lucene被广泛应用作搜索应用的标准基础库[ 1] [ 2] [ 3] 。
Lucene现已被移植到其他编程语言,包括Object Pascal 、Perl 、C# 、C++ 、Python 、Ruby 和PHP [ 4] 。
历史
Doug Cutting在1999年编写了Lucene[ 5] ,他是一位資深的全文索引及檢索專家,曾經是V-Twin搜索引擎的主要開發者,後來在Excite擔任高級系統架構設計師,目前從事於一些互联网底層架構的研究。他貢獻出Lucene的目標是為各種中小型應用程式加入全文檢索功能。Lucene最初可以从SourceForge 网站的主页下载,它于2001年9月加入Apache软件基金会的Jakarta开源Java产品家族,并于2005年2月成为独立的顶级Apache项目。Lucene这个名字是Doug Cutting妻子的中间名,也是她外祖母的名字[ 6] 。
Lucene以前包含了许多子项目,例如 Lucene.NET、Mahout、Tika and Nutch。这三个现在已经成为了独立的顶级Apache项目。
2010年3月,Apache Solr 搜索服务器作为Lucene子项目加入,合并了开发者社区。
4.0版于2012年10月12日发布[ 7] 。
2021年3月,Lucene更改了logo,Apache Solr 再次成为顶级Apache项目,独立于 Lucene。
功能和常见用途
虽然理论上Lucene适用于任何需要全文索引和搜索功能的应用程序,但其主要是因为在Internet搜索引擎 和本地单站点搜索实现中的实用性而受到认可[ 8] [ 9] 。
Lucene包含了基于编辑距离 执行模糊搜索的功能[ 10] 。
Lucene也被用于实现推荐系统[ 11] 。例如,Lucene的'MoreLikeThis'类可以生成相似文档的推荐。在将“MoreLikeThis”基于向量的相似性方法与基于引用的文档相似性度量(例如共引和共引邻近度分析)进行比较时,Lucene的方法在推荐具有非常相似的结构特征和更窄相关性的文档上表现出色[ 12] 。相比之下,基于引用的文档相似性度量往往更适合推荐更广泛相关的文档[ 12] 。
基於Lucene的項目
Lucene本身只是一个索引和搜索库,不包含爬取 和HTML解析功能。但是,以下的项目扩展了Lucene的功能:
參見
Solr - 使用Lucene的企業搜索伺服器,亦由Apache軟件基金會所研發。
參考資料
^ Kamphuis, Chris; de Vries, Arjen P.; Boytsov, Leonid; Lin, Jimmy, Jose, Joemon M.; Yilmaz, Emine; Magalhães, João; Castells, Pablo , 编, Which BM25 Do You Mean? A Large-Scale Reproducibility Study of Scoring Variants , Advances in Information Retrieval (Cham: Springer International Publishing), 2020, 12036 : 28–34 [2021-06-07 ] , ISBN 978-3-030-45441-8 , PMC 7148026 , doi:10.1007/978-3-030-45442-5_4 (英语)
^ Grand, Adrien; Muir, Robert; Ferenczi, Jim; Lin, Jimmy, Jose, Joemon M.; Yilmaz, Emine; Magalhães, João; Castells, Pablo , 编, From MAXSCORE to Block-Max Wand: The Story of How Lucene Significantly Improved Query Evaluation Performance , Advances in Information Retrieval (Cham: Springer International Publishing), 2020, 12036 : 20–27 [2021-06-07 ] , ISBN 978-3-030-45441-8 , PMC 7148045 , doi:10.1007/978-3-030-45442-5_3 (英语)
^ Azzopardi, Leif; Moshfeghi, Yashar; Halvey, Martin; Alkhawaldeh, Rami S.; Balog, Krisztian; Di Buccio, Emanuele; Ceccarelli, Diego; Fernández-Luna, Juan M.; Hull, Charlie; Mannix, Jake; Palchowdhury, Sauparna. Lucene4IR: Developing Information Retrieval Evaluation Resources using Lucene . ACM SIGIR Forum. 2017-02-14, 50 (2): 58–75 [2022-07-25 ] . ISSN 0163-5840 . doi:10.1145/3053408.3053421 . (原始内容存档 于2022-07-28) (英语) .
^ LuceneImplementations . apache.org. [23 September 2015] . (原始内容存档 于6 October 2015).
^ KeywordAnalyzer
Better Search with Apache Lucene and Solr (PDF) . 19 November 2007. (原始内容 (PDF) 存档于31 January 2012).
^ Barker, Deane. Web Content Management . O'Reilly. 2016: 233 . ISBN 978-1491908105 .
^ Apache Lucene - Welcome to Apache Lucene . apache.org. [4 February 2016] . (原始内容存档 于4 February 2016).
^ McCandless, Michael; Hatcher, Erik; Gospodnetić, Otis. Lucene in Action, Second Edition . Manning. 2010: 8 . ISBN 978-1933988177 .
^ GNU/Linux Semantic Storage System (PDF) . glscube.org. (原始内容 (PDF) 存档于2010-06-01).
^ Apache Lucene - Query Parser Syntax . lucene.apache.org. (原始内容存档 于2017-05-02).
^ 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
^ 12.0 12.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.
^ dev@Nutch.apache.org. Apache Nutch™ - . nutch.apache.org. [2016-11-29 ] . (原始内容存档 于2021-01-26).
^ What are the main differences between ElasticSearch, Apache Solr and SolrCloud? - Quora . quora.com. [23 September 2015] .
^ The Future of Compass & Elasticsearch . the dude abides. [2015-10-14 ] . (原始内容 存档于2015-10-15) (英语) .
^ Wayner, Peter. 11 cutting-edge databases worth exploring now . InfoWorld. [21 September 2015] . (原始内容存档 于21 September 2015).
^ Quang, Tran Nam. DocFetcher - Fast Document Search . docfetcher.sourceforge.net. [2016-11-29 ] . (原始内容存档 于2021-01-13).
^ Elasticsearch: RESTful, Distributed Search & Analytics - Elastic . elastic.co. [23 September 2015] . (原始内容存档 于2015-09-21).
^ 19.0 19.1 Natividad, Angela. Socialtext Updates Search, Goes Kino . CMS Wire. [2011-05-31 ] . (原始内容存档 于2012-09-29).
^ Marvin Humphrey. KinoSearch - Search engine library. - metacpan.org . p3rl.org. [23 September 2015] .
^ Diment, Kieren; Trout, Matt S. Catalyst Cookbook. The Definitive Guide to Catalyst . Apress . 2009: 280 . ISBN 978-1-4302-2365-8 .
^ Wishart, D. S. ; et al. HMDB: a knowledgebase for the human metabolome . Nucleic Acids Res. January 2009, 37 (Database issue): D603–10. PMC 2686599 . PMID 18953024 . doi:10.1093/nar/gkn810 .
^ Lim, Emilia; Pon, Allison; Djoumbou, Yannick; Knox, Craig; Shrivastava, Savita; Guo, An Chi; Neveu, Vanessa; Wishart, David S. T3DB: a comprehensively annotated database of common toxins and their targets . Nucleic Acids Res. January 2010, 38 (Database issue): D781–6. PMC 2808899 . PMID 19897546 . doi:10.1093/nar/gkp934 .
^ Swiftype - Site search and enterprise search . Swiftype. [2016-11-29 ] . (原始内容存档 于2021-02-05).
^ Apache Lucene.Net . lucenenet.apache.org. [2016-11-29 ] . (原始内容存档 于2020-12-31).
^ Apache Lucy . lucy.apache.org. [2016-11-29 ] . (原始内容存档 于2020-12-31).
^ luke . GitHub. [2016-11-29 ] . (原始内容存档 于2020-11-30).
外部連結