lucene.net 是lucene的dotnet版本。
本文就lucene的源码作深入剖析,所采用的版本为lucene.net2.0

关于lucene.net.document和analysisi类。
对于lucene而言,所能识别的文档类型无论之前是什么格式,都将被转化为document,而对于一个document而言,你可以用很多个field来标示他,比如有一个新闻网页,它有url,有标题,有正文内容,有作者等等,你在为这个文档建立索引标示时,你可以创建一个 url field,你可以创建一个title field,你可以创建一个 content fields等等。
确定了哪些field被lucece处理后,你还有确定让lucene如何来处理field,比如对于一个作者field来说,通常情况下,作者名字是一个整体,所以应该indexed(被索引),stored(被存储),untokenized(不被分词),对于title field来说应该indexed ,stored,tokenized,对于content field来说,应该是indexed unstored tokenized.
上面出现了一个新的名词,叫token,什么是token,token就是分词的单位,举一个例子this is a test。这一句有4个单词,可以分析成4个token,事实上token不仅包含了单词的信息,还包含着这个单词的偏移量,出现的位置(position即是语句的第几个单词)等等。

待续