我目前正在与一个团队合作,开始一个基于Lucene的新项目。 虽然大多数时候我会争论使用Solr还是Elasticsearch而不是简单的Lucene,但这是一个有意识的决定。 在这篇文章中,我正在整理一些学习Lucene的资源–希望您对他们有所帮助,或者可以提示我错过了哪些资源。
项目文件
当然,首选的是出色的项目文档 。 它包含所有模块的Javadoc(最重要的模块是core , analyzers-common和queryparser ),还包含进一步的文档,例如,一个简单的演示应用程序的说明以及对分析 , 查询和评分的有用介绍。 您可能还对标准索引文件格式感兴趣。
除了发行版随附的文档之外, 项目Wiki中还有很多信息,但是您需要知道要查找的内容。 您也可以加入邮件列表以了解其他用户的操作。
查看分析仪组件时, Solr Start网站可能会有用。 尽管专用于Solr ,但分析器组件列表对于确定Lucene 的分析器也很有用。 它还包含Javadocs的可搜索版本 。
图书
关于该主题的经典书籍是《 Lucene in Action》 。 在超过500页上,它详细解释了所有基本概念。 不幸的是,其中一些信息已经过时,许多代码示例不再起作用。 此外,不包括较新的概念。 仍然是学习Lucene的推荐文章。
我读过的另一本书是在Packt出版的Lucene 4 Cookbook 。 它包含更多当前示例,但不适合学习基础知识。 另外,在我看来,好像没有任何编辑在写这本书,有很多重复,错别字和断句。 (我在写博客时会犯很多语法错误,但是我希望从出版的书中得到更多的语法。)
通过在基于Lucene的搜索服务器之一上阅读一本书,您还可以了解有关Lucene不同方面的很多知识。 我可以推荐《 Elasticsearch in Action》 ,《 Solr in Action》和《 Elasticsearch – The Definitive Guide》 。 (如果您会读德语,那我当然是在邀请您阅读有关Elasticsearch的书 。)
博客,会议和视频
关于Lucene的博客文章不计其数,非常好的介绍是Andrew Montalenti撰写的Lucene:The Good Parts 。 一些博客会定期在Lucene上发布文章,推荐的文章是Mike McCandless (现在主要是弹性Blog上的博客 ), OpenSource Connections , Flax和Uwe Schindler 。 弹性Blog上有很多有关Lucene的内容,如果您想了解当前的发展,我可以推荐“ Elasticsearch和Apache Lucene的本周”系列。 Lucidworks博客上也有一些有趣的帖子,我敢肯定,我在这里忘记提及很多其他博客。
Lucene是两个较大的会议的常规主题: Lucene / Solr Revolution和Berlin Buzzwords 。 您可以在他们的网站上找到许多有关过去事件的录像。
资料来源
最后,该项目是开源的,因此您可以通过阅读库或测试的源代码来了解很多内容。
另一种选择是查看使用它的应用程序,Solr和Elasticsearch。 当然,您需要围绕项目的源头找到自己的方式,但是有时候这并不难。 Elasticsearch的一个示例:如果您想了解如何在Lucene中实现常见的multi_match-Query,则可以轻松找到创建Lucene查询的MultiMatchQuery类。
我错过了什么?
希望这篇文章对您有用。 我确信我错过了许多学习Lucene的宝贵资源。 如果您想添加一个,请在评论中或在Twitter上告诉我。
翻译自: https://www.javacodegeeks.com/2016/04/learning-lucene.html