zoukankan      html  css  js  c++  java
  • Lucene 索引维护

    1.修改索引

      更新索引是先删除再添加,建议对更新需求采用此方法,并且要保证对已存在的索引执行更新,可以先查询出来,确定更新记录存在执行更新操作。
      如果更新索引的目标文档对象不存在,则执行添加。

    /**
         * 修改索引库
         */
        @Test
        public void testUpdateIndex() throws IOException {
    
            // 创建分析器(分词器) StandardAnalyzer标准分词器,对英文分词效果好,对中文是单字分词
            Analyzer analyzer = new StandardAnalyzer();
            // 创建IndexWriterConfig配置信息类,指定切分词使用的分词器
            IndexWriterConfig config = new IndexWriterConfig(analyzer);
            // 创建Directory对象,声明索引库存储位置
            Directory dir = FSDirectory.open(Paths.get("D:\lucene"));
            // 创建IndexWriter写入对象,指定写入的位置和使用的config初始化对象
            IndexWriter indexWriter = new IndexWriter(dir, config);
    
            // 需要变更的内容
            Document document = new Document();
    
            // 创建域对象,并且放入文档对象中
            document.add(new StringField("id", "100000003140", TextField.Store.YES));
            document.add(new TextField("name", "vivo", TextField.Store.YES));
    
            // 执行更新,会把所有符合条件的Document先删除,再新增。
            indexWriter.updateDocument(new Term("id", "100000003140"), document);
            // 释放资源
            indexWriter.close();
        }

    2.删除索引

    /**
     * 删除索引库
     */
    @Test
    public void testDeleteIndex() throws IOException {
    
        // 创建分析器(分词器) StandardAnalyzer标准分词器,对英文分词效果好,对中文是单字分词
        Analyzer analyzer = new StandardAnalyzer();
        // 创建IndexWriterConfig配置信息类,指定切分词使用的分词器
        IndexWriterConfig config = new IndexWriterConfig(analyzer);
        // 创建Directory对象,声明索引库存储位置
        Directory dir = FSDirectory.open(Paths.get("D:\lucene"));
        // 创建IndexWriter写入对象,指定写入的位置和使用的config初始化对象
        IndexWriter indexWriter = new IndexWriter(dir, config);
    
        // 根据Term删除索引库
        // indexWriter.deleteDocuments(new Term("id", "100000003140"));
        // 删除全部索引(慎用)
        indexWriter.deleteAll();
    
        // 释放资源
        indexWriter.close();
    }
  • 相关阅读:
    LTE网络注册流程(1)(2)(3)
    Linux 添加用户
    (TOJ2627)台州学院首届新生程序设计竞赛参赛资格
    (TOJ1249)四数相加
    (TOJ1192)A + B Problem II
    (TOJ1065)完美数
    (TOJ1248)Encoding
    (TOJ1051)A × B problem
    (TOJ1506)Sort ZOJ7
    (TOJ1531)爱的伟大意义
  • 原文地址:https://www.cnblogs.com/roadlandscape/p/12547655.html
Copyright © 2011-2022 走看看