zoukankan      html  css  js  c++  java
  • 6.Lucene删除索引

    在我们删除数据时,我们也应该同时把lucene中的数据删掉。

    在lucene中删除也比较简单,我们只要调用deleteDocuments即可删除。

    indexWriter.deleteDocuments(term);
    

    附录:完整代码

    @Test
    public void deleteIndex() {
        // lucene索引目录位置
        String indexDir = "E:\develop\demo\lucene-learn\lucene-index";
        File luceneIndexDirectory = new File(indexDir);
        try (Directory directory = MMapDirectory.open(luceneIndexDirectory.toPath())) {
            // 创建索引写入
            IndexWriterConfig indexWriterConfig = new IndexWriterConfig(new IKAnalyzer());
            indexWriterConfig.setOpenMode(IndexWriterConfig.OpenMode.CREATE_OR_APPEND);
            // 设置缓存区大小,每n个文档写入一次
            indexWriterConfig.setMaxBufferedDocs(1000);
            IndexWriter writer = new IndexWriter(directory, indexWriterConfig);
            // 设置每个segments保存几个文档,该值越大创建索引时间越小,对应的搜索会变慢
            writer.forceMerge(100);
            // 删除文档
            writer.deleteDocuments(new Term("id", "1"));
            // 提交保存索引
            writer.flush();
            writer.commit();
            writer.close();
        } catch (IOException e) {
            System.err.println(String.format("打开索引目录%s失败", indexDir));
            e.printStackTrace();
        }
    }
    
  • 相关阅读:
    three.js-texture
    three.js-binary operator
    three.js-model
    three.js-bone
    JS时间戳
    JQUERY删除操作
    Synchronized和Static Synchronized区别
    JQUERY 保存成功后又下角动态提示
    jquery from提交和post提交
    防止多次领取红包进行ID锁
  • 原文地址:https://www.cnblogs.com/lixingwu/p/13870595.html
Copyright © 2011-2022 走看看