码迷,mamicode.com
首页 > Web开发 > 详细

lucene入门创建索引——(一)

时间:2017-08-05 17:52:19      阅读:218      评论:0      收藏:0      [点我收藏+]

标签:div   min   分析器   sasl   sbt   rtc   acpi   eal   ifd   

 1.程序宏观结构图

技术分享

 

2.创建索引过程

技术分享

 

 

3.代码实现

创建索引库:

1)  创建JavaBean对象

2)  创建Docment对象

3)  将JavaBean对象所有的属性值,均放到Document对象中去,属性名可以和JavaBean相同或不同

4)  创建IndexWriter对象

5)  将Document对象通过IndexWriter对象写入索引库中

6)  关闭IndexWriter对象

 

Jar包:

技术分享

 

代码:

 1 // 创建索引
 2     @Test
 3     public void testIndex() throws Exception {
 4         // 第一步:创建一个java工程,并导入jar包。
 5         // 第二步:创建一个indexwriter对象。
 6         Directory directory = FSDirectory.open(new File("E:\\lucene1\\index"));
 7         // Directory directory = new RAMDirectory();//保存索引到内存中 (内存索引库)
 8 //        Analyzer analyzer = new StandardAnalyzer();// 官方推荐
 9         Analyzer analyzer = new IKAnalyzer();// 官方推荐
10         IndexWriterConfig config = new IndexWriterConfig(Version.LATEST, analyzer);
11         IndexWriter indexWriter = new IndexWriter(directory, config);
12         // 1)指定索引库的存放位置Directory对象
13         // 2)指定一个分析器,对文档内容进行分析。
14         // 第三步:创建field对象,将field添加到document对象中。
15         File f = new File("E:\\lucene1\\searchfiles");
16         File[] listFiles = f.listFiles();
17         for (File file : listFiles) {
18             // 第三步:创建document对象。
19             Document document = new Document();
20             // 文件名称
21             String file_name = file.getName();
22             Field fileNameField = new TextField("fileName", file_name, Store.YES);
23             // 文件大小
24             long file_size = FileUtils.sizeOf(file);
25             Field fileSizeField = new LongField("fileSize", file_size, Store.YES);
26             // 文件路径
27             String file_path = file.getPath();
28             Field filePathField = new StoredField("filePath", file_path);
29             // 文件内容
30             String file_content = FileUtils.readFileToString(file);
31             Field fileContentField = new TextField("fileContent", file_content, Store.YES);
32 
33             document.add(fileNameField);
34             document.add(fileSizeField);
35             document.add(filePathField);
36             document.add(fileContentField);
37             // 第四步:使用indexwriter对象将document对象写入索引库,此过程进行索引创建。并将索引和document对象写入索引库。
38             indexWriter.addDocument(document);
39 
40         }
41         // 第五步:关闭IndexWriter对象。
42         indexWriter.close();
43     }

结果:至此创建索引完成,以后的搜索靠他们了。

技术分享

4.luke可视化工具查看索引

技术分享

 

技术分享

技术分享

 

技术分享

 

lucene入门创建索引——(一)

标签:div   min   分析器   sasl   sbt   rtc   acpi   eal   ifd   

原文地址:http://www.cnblogs.com/qlqwjy/p/7290767.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!