Lucene.Net 创建全文搜索最核心的内容是Create Index 和 Search ,而创建索引是后面搜索的基础,因为后面的搜索是使用索引来搜索的。对于创建索引,Lucene.Net 专门提供了个类实现,其中 Lucene.Net.Index..IndexWrite 创建索引并将索引写入文件,对应的Lucene.Net.Index..IndexReader 实现从文件夹中将索引读出来,以便对索引进行修改等操作

创建索引:

IndexWriter indexwriter = new IndexWriter("index", new StandardAnalyzer(), true);

首先是定义一个索引写入器indexwrite,其中第一个参数index表示要存储索引的文件夹,第二个参数是一个分析对象,主要用于从文本中抽取那些需要建立索引的内容,把不需要参与建索引的文本内容去掉.比如去掉一些a the之类的常用词,还有决定是否大小写敏感.不同的选项通过指定不同的分析对象控制,第三个参数用于确定是否覆盖原有索引,true表示新创建的索引将覆盖掉原来的索引,false 将重新创建并保留原有索引。

Document doc = new Document();

创建一个文档对象

doc.Add(Field.UnStored("text", context);

doc.Add(Field.Keyword("path", path));

doc.Add(Field .Text ("filename",filename));

给文档添加属性,Add方法是将一个属性添加到doc中,text是要添家的属性的名字,context是要创建索引的内容,可以是任何可以解读的数据源,这里要注意的是Field中的几个类型,总共有4个

1、Keyword 见名知意就是关键字,该字段中的内容不经过分析但会被索引并直接保存到索引中,比如:good,filename,teacher等字符串常量,也可以是一个字符串数组,如string [] contex=
相关文章: