
你的数据来源可以是关系数据库,可以是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到数据库中查找相关记录
ITjob里学。习到的,希望对你有所帮助
一般情况下只能检索字段及其方法名中的字符串,其实像Eclipse、Intellij idea等 IDE都有这样的功,如果是您自己要实现这个功能的话,这里说下简单的思路:1、使用java的zip流获取所有class文件列表(含包路径);
2、使用class loader将jar包装载进来,对步骤1中的文件列表进行遍历,将每个class文件采用反射方法,获取类中的类名、字段名、方法名,使用luence做成本地索引;
3、建好索引后使用luence写一个字符串搜索功能,就可以实现对jar中的类名、字段名、方法名字符串进行检索了,不过IDE中提供都是类名、方法名的搜索。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)