Lucene搜索简单使用

官方网站:Apache Lucene - Welcome to Apache Lucene

使用版本:lucene-5.5.5 (Index of /dist/lucene/java/5.5.5)

下载源代码

添加图片注释,不超过 140 字(可选)

一个是发布版,一个源代码版本,看具体需求:

添加图片注释,不超过 140 字(可选)

找到Demo目录下的TestDemo.java:

提供了简单的搜索样例:

其中testIndexSearch()中,IndexFiles.main则是建立索引(只有建立索引后才可以进行查询)

其中createTempDir("");表示创建索引存放的目录

main方法中: -docs 后面的参数表示索引文件的路径(dir.toString()),-index:后面的参数表示索引目录:(indexDir.toString())(-index可以理解为书签 存放的目录 )

比如文件索引较多时,比如 需要检索的文件目录为 /2024/月/日/ (这个时候可以每个目录尽力一个索引目录)

IndexFiles.main(new String[] { "-docs", "/2024/06/02", "-index","/indexdir/2024/06/02"}); 这样每个目录建立一个索引则进行检索的时候无需全部查询,只需查询这个/indexdir/2024/06/02索引目录,(可以理解为去图书馆,你不可能通过一个书名来找,肯定会根据 分类 比如 数学、语文,或者大学小学等各种分类来缩小范围)

 
 

SearchFiles.main(new String[] {"-query", query, "-index", indexPath.toString()});

query:查询的关键词 比如 lucene, indexPath.toString():索引目录 /indexdir/2024/06/02

这样lucene检索的时候只会根据索引目录来查找,而不是全部遍历搜索。

搜索出来显示:

添加图片注释,不超过 140 字(可选)

其中 hits[i].score:对应查询到的文件匹配分值。

添加图片注释,不超过 140 字(可选)

读取文件内容,headle进行内容高亮处理:

添加图片注释,不超过 140 字(可选)

只显示contents内容,也可以高亮匹配标题。

搜索效果

demo代码只支持txt类型文档,如果要支持pdf,word,xls,ppt等则需要在建立索引情况中读取文档内容时,转换文件内容至文本进行索引建立:

在IndexFiles.java:

内容转换读取建立索引

这里我做了doc,pdf ,xls等格式判断,如果要做其他格式,则添加相应内容判断

,其中:

读取word内容

读取Excel

读取Pdf内容(只读取到txt内容)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值