前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >Luncene学习二《搜索索引》

Luncene学习二《搜索索引》

作者头像
梅花
发布2020-09-28 16:05:14
发布2020-09-28 16:05:14
47100
代码可运行
举报
运行总次数:0
代码可运行

搜索索引的流程

第一步:创建一个Directory对象,也就是索引库存放的位置

第二步:创建一个IndexReader对象,需要指定Directory对象

第三步:创建一个indexsearcher对象,需要指定IndexReader对象

第四步:创建一个TermQuery对象,指定查询的域和查询的关键词。

第五步:执行查询.

第六步:返回查询结果。遍历查询结果并输出。

第七步:关闭IndexReader对象

代码语言:javascript
代码运行次数:0
复制
 1 // 搜索索引
 2     @Test
 3     public void testSearch() throws Exception {
 4         // 第一步:创建一个Directory对象,也就是索引库存放的位置。
 5         Directory directory = FSDirectory.open(new File("D:\\temp\\index"));// 磁盘
 6         // 第二步:创建一个indexReader对象,需要指定Directory对象。
 7         IndexReader indexReader = DirectoryReader.open(directory);
 8         // 第三步:创建一个indexsearcher对象,需要指定IndexReader对象
 9         IndexSearcher indexSearcher = new IndexSearcher(indexReader);
10         // 第四步:创建一个TermQuery对象,指定查询的域和查询的关键词。
11         Query query = new TermQuery(new Term("fileName", "lucene"));
12         // 第五步:执行查询。
13         TopDocs topDocs = indexSearcher.search(query, 10);
14         // 第六步:返回查询结果。遍历查询结果并输出。
15         ScoreDoc[] scoreDocs = topDocs.scoreDocs;
16         for (ScoreDoc scoreDoc : scoreDocs) {
17             int doc = scoreDoc.doc;
18             Document document = indexSearcher.doc(doc);
19             // 文件名称
20             String fileName = document.get("fileName");
21             System.out.println(fileName);
22             // 文件内容
23             String fileContent = document.get("fileContent");
24             System.out.println(fileContent);
25             // 文件大小
26             String fileSize = document.get("fileSize");
27             System.out.println(fileSize);
28             // 文件路径
29             String filePath = document.get("filePath");
30             System.out.println(filePath);
31             System.out.println("------------");
32         }
33         // 第七步:关闭IndexReader对象
34         indexReader.close();
35 
36     }

执行之后的效果

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-12-10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档