Lucene数据库操作实例

Lucene数据库操作实例

ID:40562504

大小:50.50 KB

页数:18页

时间:2019-08-04

Lucene数据库操作实例_第1页
Lucene数据库操作实例_第2页
Lucene数据库操作实例_第3页
Lucene数据库操作实例_第4页
Lucene数据库操作实例_第5页
资源描述:

《Lucene数据库操作实例》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、用Lucene检索数据库1.写一段传统的JDBC程序,讲每条的用户信息从数据库读取出来2.针对每条用户记录,建立一个lucenedocumentDocumentdoc=newDocument();并根据你的需要,将用户信息的各个字段对应luncenedocument中的field进行添加,如:doc.add(newField("NAME","USERNAME",Field.Store.YES,Field.Index.UN_TOKENIZED));然后将该条doc加入到索引中,如:luceneWriter.addDocument(doc);这样就建立了lucene的索引库3.编写对索引库

2、的搜索程序(看lucene文档),通过对lucene的索引库的查找,你可以快速找到对应记录的ID4.通过ID到数据库中查找相关记录用Lucene索引数据库Lucene,作为一种全文搜索的辅助工具,为我们进行条件搜索,无论是像Google,Baidu之类的搜索引擎,还是论坛中的搜索功能,还是其它C/S架构的搜索,都带来了极大的便利和比较高的效率。本文主要是利用Lucene对MSSqlServer2000进行建立索引,然后进行全文索引。至于数据库的内容,可以是网页的内容,还是其它的。本文中数据库的内容是图书馆管理系统中的某个作者表-Authors表。本文以这样的结构进行:1.介绍数据库中A

3、uthors表的结构2.为数据库建立索引3.为数据库建立查询功能4.在web界面下进行查询并显示结果1.介绍数据库中Authors表的结构字段名称        字段类型        字段含义Au_id               Varchar(11)   作者号Au_name       Varchar(60)    作者名Phone            Char(12)          电话号码Address         Varchar(40)     地址City                  Varchar(20)    城市State             

4、  Char(2)            省份Zip                   Char(5)            邮编contract           Bit(1)               外键(关系不大)表中的部分内容:   2.为数据库建立索引  首先建立一个类TestLucene.java。这个类就是对数据库进行建立索引,编写查询条件等。  当然,最开始就是建立数据库连接。连接代码这里就省略了。^_^  接着,新建一个方法getResutl(String),它返回的是数据库表Authors的内容。具体代码如下:   publicResultSetgetRes

5、ult(Stringsql){     try{       Statementstmt=conn.createStatement();       ResultSetrs=stmt.executeQuery(sql);       returnrs;     }     catch(SQLExceptione){       System.out.println(e);     }     returnnull;   }  然后,为数据库建立索引。  首先要定义一个IndexWriter(),它是将索引写进Lucene自己的数据库中,它存放的位置是有你自己定义的。在定义IndexWr

6、iter是需要指定它的分析器。Lucene自己自带有几个分析器,例如:StandarAnalyzer(),SimpleAnalyzer(),StopAnalyzer()等。它作用是对文本进行分析,判断如何进行切词。接着,要定义一个Document。Document相当于二维表中一行数据一样。Document里包含的是Field字段,Field相当于数据库中一列,也就是一个属性,一个字段。最后应该对IndexWriter进行优化,方法很简单,就是writer.optimize().具体代码如下: publicvoidIndex(ResultSetrs){     try{       I

7、ndexWriterwriter=newIndexWriter("d:/index/",getAnalyzer(),true);       while(rs.next()){           Documentdoc=newDocument();           doc.add(Field.Keyword("id",rs.getString("au_id")));           doc.add(Field.Text("name",

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。