怎么用java的lucene对数据库进行检索
程序员文章站
2022-05-30 21:04:25
...
lucene是一个公用的全文索引组件,它的目标是把各种各样格式的数据转化成lucene特有的索引文件格式,这样才能通过lucene的高速检索机制进行全文检索。
你的数据来源可以是关系数据库,可以是word、execl、txt文档,可以是html网页,对于这些数据源,你必须将它们内部的数据读取出来,并封装成lucene的document实例,之后让lucene帮你构建索引。
举个例子:你的有一个用户数据库,里面存储了几十万的用户信息,你现在要对这个数据库进行全文索引,那么你要做的事情是:
1.写一段传统的JDBC程序,讲每条的用户信息从数据库读取出来
2.针对每条用户记录,建立一个lucene document
Document doc = new Document();
并根据你的需要,将用户信息的各个字段对应luncene document中的field 进行添加,如:
doc.add(new Field("NAME","USERNAME", Field.Store.YES,Field.Index.UN_TOKENIZED));
然后将该条doc加入到索引中, 如: luceneWriter.addDocument(doc);
这样就建立了lucene的索引库
3.编写对索引库的搜索程序(看lucene文档),通过对lucene的索引库的查找,你可以快速找到对应记录的ID
4.通过ID到数据库中查找相关记录
你的数据来源可以是关系数据库,可以是word、execl、txt文档,可以是html网页,对于这些数据源,你必须将它们内部的数据读取出来,并封装成lucene的document实例,之后让lucene帮你构建索引。
举个例子:你的有一个用户数据库,里面存储了几十万的用户信息,你现在要对这个数据库进行全文索引,那么你要做的事情是:
1.写一段传统的JDBC程序,讲每条的用户信息从数据库读取出来
2.针对每条用户记录,建立一个lucene document
Document doc = new Document();
并根据你的需要,将用户信息的各个字段对应luncene document中的field 进行添加,如:
doc.add(new Field("NAME","USERNAME", Field.Store.YES,Field.Index.UN_TOKENIZED));
然后将该条doc加入到索引中, 如: luceneWriter.addDocument(doc);
这样就建立了lucene的索引库
3.编写对索引库的搜索程序(看lucene文档),通过对lucene的索引库的查找,你可以快速找到对应记录的ID
4.通过ID到数据库中查找相关记录
以上就是怎么用java的lucene对数据库进行检索的详细内容,更多请关注其它相关文章!
推荐阅读
-
UG草图阵列怎么用?UG10.0对曲线进行阵列的实例教程
-
UG草图阵列怎么用?UG10.0对曲线进行阵列的实例教程
-
怎么用java语言查询读出一个SQLite数据库文件中的数据?
-
IPBOOK该怎么用?使用iPbook对IP地址进行分段扫描的方法介绍
-
java的oracle数据库用hql语句(orcal)对日期进行范围对比
-
关于php的tp框架中怎么对选中元素进行数据库操作有关问题
-
急怎么用php对url的参数进行加密解密
-
怎么用java的lucene对数据库进行检索
-
从php后台读出一个表单上的数据,对其进行了json_encode怎么把每一项传给相应的html元素,知道用jquery的html方法,但是语法不知道。
-
从php后台读出一个表单上的数据,对其进行了json_encode怎么把每一项传给相应的html元素,知道用jquery的html方法,但是语法不知道。