zoukankan      html  css  js  c++  java
  • 学习Lucene笔记一:创建索引

    public class HelloLucene {
    
        /**
         * 建立索引
         * @param args
         */
        public void index(){
            IndexWriter  writer = null;  
    
            try {
                //1.创建Directory,
                // Directory directory = new RAMDirectory();//索引是建立在内存中的
                Directory directory =  FSDirectory.open(new File("D:/Lucene/index01"));//索引是建立在硬盘上
    
                //2.创建IndexWriter,用完之后要关闭,在finally关闭。
                IndexWriterConfig iwc = new IndexWriterConfig(Version.LUCENE_36,new StandardAnalyzer(Version.LUCENE_36));
                writer = new IndexWriter(directory,iwc);
                
                //3.创建Document对象
                Document document = null;
                File files = new File("D:/Lucene/example1");
                
                //4.为Document添加Field
                for(File file: files.listFiles()){
                    document =  new Document();
                    
                    //添加内容到索引
                    document.add(new Field("content",new FileReader(file)));
                    //添加文件名到索引
                    document.add(new Field("filename",file.getName(),Field.Store.YES,Field.Index.NOT_ANALYZED));
                    //添加路径到索引
                    document.add(new Field("path",file.getAbsolutePath(),Field.Store.YES,Field.Index.NOT_ANALYZED));
    
                    //5.通过IndexWriter添加文档到索引
                    writer.addDocument(document);
                }
            } catch (CorruptIndexException e) {
                e.printStackTrace();
            } catch (LockObtainFailedException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }finally{
                try {
                    if(writer != null) writer.close();
                } catch (CorruptIndexException e) {
                    e.printStackTrace();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
    
    
    
        }
    }

     源码下载

  • 相关阅读:
    Excel相关函数
    慢SQL优化
    idea 添加阿里代码检查插件
    Jmeter使用自定义编写代码
    七、一些困难的测试场景:多线程、持久化存储等
    六、测试驱动开发 TDD
    五、从宏观角度考虑单元测试
    四、使用Mock对象
    三、单元测试要测试的是什么? The Right-BICP
    二、优秀单元测试的五个特征FIRST
  • 原文地址:https://www.cnblogs.com/andgoo/p/2541693.html
Copyright © 2011-2022 走看看