开源搜索框架Lucene学习系列

      原来听一位大牛说过,如果有机会的话,最好是从头开始跟踪一个比较好的开源项目,这样你可以学到很多东西,包括最新的语法特性,最重要的就是,一般好的开源项目,它的设计都是非常精妙的,在其中你可以看到很多设计模式的应用。如果你能跟踪下来一个的话,那你就能学到很多的东西。可惜本人技术不怎么样,也没找到好的机会,所以一直都比较遗憾。不过虽然没有机会跟踪一个开源项目,但还是有机会看到别人的源码,所以我决定先采用一个折中的方法,那就是研究好的开源项目的源码,相信如果我能坚持下来,肯定也能学到很多的东西。由于最近要做一些和搜索相关的事情,所以我就选择了从Lucene下手。

      Lucene是一个非常著名的开源搜索框架,它最初是用Java写的,后来被移植到很多程序语言中,比如C++,C#,Ruby,Python等等语言都有相应的Lucene版本。.net上的Lucene版本有好几个,最开始的时候叫NLucene,这个只更新到1.2版本的时候,就没有再更新了,后来的就是Lucene.net,这个版本一直更新到2.9.4,但是由于它已经变成商业版,所以又出现了一个叫DotLucene的,它其实就是在Lucene.net的版本上进行再次开发的。不过可惜DotLucene这个项目也没坚持多久,在07年的时候也关闭了,官网上的原因说是作者太忙,没有时间保证提供高质量的源码。不过所有.net平台下的Lucene源码在网上还是可以找到.因为这个项目是一个从简单到复杂的发展过程,以前我没有接触,所以如果一开始就研究Lucene.net和DotLucene可能会比较困难,所以我就从NLucene开始。

      我将会记录我在学习的过程中的笔记,希望通过这样的学习,能使自己的技术水平能有提高。我知道自己的意志力不是很强,可能会写的很慢,也可能会坚持不下来,不过我会努力的,加油!

原文地址:https://www.cnblogs.com/xiaoxiangfeizi/p/2306602.html