您的位置:首页 > 其它

利用Lucene.net搭建站内搜索(3)---创建索引

2010-01-13 13:55 387 查看
Lucene.net提供了很全面的数据搜索操作,你可以利用Lucene.net检索磁盘中的文件,网页,数据库中的数据,但是前提是预先对数据创建索引。
Lucene索引过程分为三个主要的操作阶段:将数据转换成文本分析文本、并将分析过的文本保存到索引库中。如图所示:

1.数据转成文本:须将数据转换成Lucene能够处理的格式——纯文本字符流。

2.分析文本:完成了针对待索引数据的预处理操作,并创建了带有若干个域的Document对象,就可以调用IndexWriter的addDocument(Document)方法,将数据传递给Lucene来进行索引操作。在对数据进行索引处理时,Lucene会首先分析(analyze)数据使之更加适合被索引。

3.将分析过的文本保存到索引库中:对输入数据分析处理完之后,就可以将结果写入到索引文件中。Lucene将输入数据以一种称为倒排索引(inverted index)的数据结构进行存储。在进行关键字快速查找时,这种数据结构能够有效地利用磁盘空间。

下面介绍下Lucene.net中处理索引的类
Code
try
{
ci.wordPath = Server.MapPath("App_Data") + @"\"; //词库路径;
ci.indexDirectory = Server.MapPath("index") + @"\"; //词库路径;
ci.dt = dt;
ci.GetIndex(1);
}
其中dt是保存数据的DataTable,wordpath是分词器的词库文件chsstopwords.txt,engstopwords.txt,dict.dct的路径,indexDirectory是生成索引文件的路径。
生成索引成功后,我们会在index文件夹下看到生成的文件:



这样,我们就创建好了数据的索引。检索数据的时候,我们就可以利用它快速的对数据进行检索。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: