Lucene的使用介绍

Posted Andrew的自留地

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Lucene的使用介绍相关的知识,希望对你有一定的参考价值。

今天介绍第二个任务——由得到的XML获得索引,将使用到Lucene包。


(建议拉到文末点击阅读原文,在电脑端打开,微信对手机的排版真是惨不忍睹)


本文前提:已经获得XML文件。

看完本文你将知道:如何建立索引,如何使用索引。

以下是核心代码的截图和说明:

1、解析

Lucene的使用介绍

首先确立索引所存放的位置    


Lucene的使用介绍

确定分类器和写索引对象      


Lucene的使用介绍

对存取xml文件的to文件夹中每一个xml文件即每一个file对象进行遍历操作


Lucene的使用介绍

对要获取的一系列内容进行初始化      


Lucene的使用介绍

通过reader对象的read方法读取xml文件,获取document对象,getRootElement方法可以获取document的根节点    

  

Lucene的使用介绍

即这里的TEI节点      


Lucene的使用介绍

Dom4j有一系列对此document对象进行解析的方法,可以自己去探索


Lucene的使用介绍

如果懒得看函数,最简单的方法可以一直用element方法,这个可以获取任意一个节点的子节点,可以通过这个方法一步一步获取下面的节点元素


Lucene的使用介绍


如上述element对象title1author就是analytic节点,title存在analytic节点下的title节点中elementTextTrim可以获取某节点下的某个子节点的内容,即上述代码中title1author.elementTextTrim("title");就是我们要的title.

用这个方法可以获取我们想要的xml中的所有内容(对其解析方法有很多,此处只介绍最容易懂的方法),可以仿照获取author,date,affiliation,address,fulltext,page等

2、写入索引

Lucene的使用介绍

新建document对象      


Lucene的使用介绍

以title为例介绍如何存储: 第一个参数:域的名称 ,第二个参数:域的内容 ,第三个参数:是否存储


Lucene的使用介绍

对所有已经获取的内容进行相似的操作      


Lucene的使用介绍

将这些加入document对象中      


Lucene的使用介绍

将document对象加到索引中,即此xml所有内容已经被写入索引


Lucene的使用介绍

关闭此indexWriter对象      


建立的索引如下图:

Lucene的使用介绍


3、使用索引

下面介绍如何对索引进行查找:自己看注释吧

Lucene的使用介绍

4的fulltext可以按照自己想查的域进行修改, keyword就是搜索的关键词

5的20是搜索的条数,如果不够只会返回最大的条数 用get方法获取自己之前写入的域的内容


调用输出



结果


听说粉丝越多,教程就会更新得越频繁

没有粉丝有打赏也可以

以上



以上是关于Lucene的使用介绍的主要内容,如果未能解决你的问题,请参考以下文章

Lucene介绍与入门使用

Lucene介绍与入门使用

Lucene的使用介绍

Lucene介绍

Web-第二十八天 Lucene&solr使用一悟空教程

技术介绍一款全文搜索引擎--lucene