Lucene索引创建及使用方法
2011-09-16 09:31
399 查看
Lucene创建及使用方法
1.1 Lucene简介
Lucene.NET是一个全文搜索框架,,lucene的功能很单一,说到底,就是你给它若干个字符串,然后它为你提供一个全文搜索服务,告诉你你要搜索的关键词出现在哪里。知道了这个本质,你就可以发挥想象做任何符合这个条件的事情了。你可以把站内新闻都索引了,做个资料库;你可以把一个数据库表的若干个字段索引起来,那就不用再担心因为“%like%”而锁表了。1.2 lucene的工作方式
lucene提供的服务实际包含两部分:一入一出。所谓入是写入,即将你提供的源(本质是字符串)写入索引或者将其从索引中删除;所谓出是读出,即向用户提供全文搜索服务,让用户可以通过关键词定位源。用通俗的话讲就是:先创建索引,再从索引读取想要的数据。
A. 写入流程:即创建索引
一、 首先实例化一个构造器IndexWriter writer = new IndexWriter("D:/index/", new PanGuAnalyzer(), true); //索引的存储位置
这个构造函数具有三个参数:
1. path:索引文件存放的路径。如:String path = "E:\\index";
2. a:分词工具,因为lucene为外国人所开发,所以对中文分词不是很友好,但人类的智慧是无穷的,这里引入盘古分词,专门针对中文的分词。如:a= new PanGuAnalyzer(),盘古分词官网http://pangusegment.codeplex.com/
3. create:它是一个boolean型变量,如果为true,表示要重写指定的存放索引目录下的索引文件;如果为false,表示在指定存放索引目录下已经存在的索引文件的基础上,向其中继续追加新的索引文件。
二、 创建索引
第一步并未创建索引,只是实例化了一个索引器,建立索引的过程是在一个IndexWriter索引器实例存在的前提下,通过为其添加Document,这样才能真正添加索引。
代码如下:
View Code
private void FillingTable(DataTable dt, Document doc)
{
DataRow myrow;
myrow = dt.NewRow();
myrow[0] = doc.Get("id").ToString();
myrow[1] = doc.Get("tradename").ToString();
myrow[2] = doc.Get("areaname").ToString();
myrow[3] = doc.Get("companyname").ToString();
myrow[4] = doc.Get("fhdes").ToString();
myrow[5] = doc.Get("productname").ToString();
myrow[6] = doc.Get("pic").ToString();
dt.Rows.Add(myrow);
myrow.AcceptChanges();
}
6. OK,得到了table数据源,你可以在此基础上任意使用这些数据了。
相关文章推荐
- Lucene学习之一:使用lucene为数据库表创建索引,并按关键字查询
- Oracle 的 索 引 的 创 建 :索引的创建方法,使用场合及建议
- 使用lucene3.6创建索引和实现简单搜索
- 使用lucene3.6创建索引和实现简单搜索
- Lucene使用(一)简单索引的创建和检索
- Lucene索引创建方法和步骤
- 索引的创建方法,使用场合及建议
- Lucene创建及使用方法
- Oracle索引分析与比较(二)—— 各种索引的创建方法、使用场合及建议
- Visual Studio中使用C语言创建dll文件同时创建对应lib索引文件的设置方法
- 全文检索工具lucene 之索引创建方法
- 各类索引的创建和使用方法
- Oracle 的 索 引 的 创 建 :索引的创建方法,使用场合及建议
- 使用Lucene对预处理后的文档进行创建索引(可运行)
- 使用org.apache.lucene创建和查询索引核心代码详解
- 使用org.apache.lucene创建和查询索引核心代码详解
- c#使用Lucene.net创建索引,实现搜索的代码示例
- 使用Lucene对预处理后的文档进行创建索引(可执行)
- java 程序加载过程---3--类中申明同时申明类的静态对象 创建类的实例 访问类的静态变量 调用类的静态方法 使用反射方法 初始化类的子类对象 直接使用java.exe 调用某个类
- 创建索引的方法有两种