标签:div min 分析器 sasl sbt rtc acpi eal ifd
创建索引库:
1) 创建JavaBean对象
2) 创建Docment对象
3) 将JavaBean对象所有的属性值,均放到Document对象中去,属性名可以和JavaBean相同或不同
4) 创建IndexWriter对象
5) 将Document对象通过IndexWriter对象写入索引库中
6) 关闭IndexWriter对象
代码:
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 }
结果:至此创建索引完成,以后的搜索靠他们了。
标签:div min 分析器 sasl sbt rtc acpi eal ifd
原文地址:http://www.cnblogs.com/qlqwjy/p/7290767.html