Lucene-索引创建&搜索

本文通过类比一本书的目录创建过程,深入浅出地解释了索引构建和搜索的基本原理。从单篇文章到整本书的编纂,再到制作目录,最终实现高效搜索。重点介绍了如何使用Lucene API创建索引、添加文档、执行搜索等关键步骤,并详细阐述了从Field、Document到IndexWriter的构建流程。同时,展示了如何利用Term和Query封装搜索条件,以及搜索结果的处理方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

索引其实就是目录,我们看书首先要看书的目录来了解这本书大概讲了什么。把索引创建的过程以写书来作个类比,以快速理解这个过程。

1一篇文章包含标题和内容。

2:把多篇文章合在一起编纂成书。
3:这样就可以制作目录
     创建索引的过程如下:
1:建立索引器IndexWriter
2:建立文档对象Document
3:建立信息字段Field(比如书的标题、内容)
4:将Field添加到Document
5:将Document添加到IndexWriter

 创建Field,Document,IndexWriter
Field field=new Field(Field名称,内容,存储方式,索引方式);
Document doc=new Document();
doc.add(field);
IndexWriter writer=new IndexWriter(存储索引的路径,分析器实例);
writer.addDocument(doc);
writer.close();
创建索引后,就可以搜索了,Lucene的搜索类似SQL一样封装搜索请求
IndexSearch s=new IndexSearch(索引路径);
Hits h=s.search();
s.close();
创建IndexSearch后,执行搜索得到结果集合对象Hits。一般都需要Term来封装搜索条件,Query对象把搜索条件转化为可执行的查询条件,就可以得到指定条件的搜索结果了
Term t=new Term(field字段名称, 关键词);
Query q=new TermQuery(t);
Hits h=s.search(q);
搜索完成后对结果的操作需要调用Hits对象的方法


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值