Lucene索引建立

Lucene索引建立,第1张

需要用到luence的api。给你一个例子

public void createIndex(){

IndexWriter writer = null

Analyzer analyzer = new IKAnalyzer(true)

try {

Directory directory= FSDirectory.open(new File(“索引的文件路径”))

if (IndexWriter.isLocked(directory)) {

IndexWriter.unlock(directory)

}

IndexWriterConfig iwConfig = new IndexWriterConfig(Version.LUCENE_35 ,analyzer)

iwConfig.setOpenMode(OpenMode.CREATE_OR_APPEND)

writer = new IndexWriter(directory , iwConfig)

writer.deleteAll()//清空索引

List<NewCourse>newCourseList = newCourseService.findNewCourseList()

Document doc = null

System.out.println("开始创建索引。。。。。。")

for(int i = 0i<list.size()i++){

Object obj = list.get(i)

doc = new Document()

doc.add(new Field("要索引的具体字段",“索引的值”,Field.Store.YES,Field.Index.NOT_ANALYZED_NO_NORMS))

}

System.out.println("创建索引结束。")

} catch (CorruptIndexException e) {

e.printStackTrace()

} catch (LockObtainFailedException e) {

e.printStackTrace()

} catch (IOException e) {

e.printStackTrace()

}finally{

try {

writer.commit()

writer.close()

} catch (CorruptIndexException e) {

e.printStackTrace()

} catch (IOException e) {

e.printStackTrace()

}

}

}

望采纳

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到数据库中查找相关记录

ITjob里学。习到的,希望对你有所帮助

1.数据库中的索引分为两种类型,分别是普通索引、唯一索引。下面让我们来分别介绍一下这...

2.第一种是普通索引,CREATE INDEX indexName ON mytable(...

3.第二种是唯一索引,它与普通索引是类似的,但也存在不同之处,不同之处在于索引列的值...

4.以上三张图分别为创建索引、修改表结构、创建表时直接指定的数据。而且还有四种方式来...

5.第一种方式:ALTER TABLE tbl_name ADD PRIMARY KEY (...


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9975136.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存