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();
        }
    }
    
  • 相关阅读:
    bzoj3993: [SDOI2015]星际战争
    bzoj3583: 杰杰的女性朋友 && 4362: Graph
    bzoj2260: 商店购物 && 4349: 最小树形图
    老oj3444 && Pku3241 Object Clustering
    bzoj3754: Tree之最小方差树
    bzoj2215: [Poi2011]Conspiracy
    老oj曼哈顿最小生成树
    bzoj2180: 最小直径生成树
    棋盘问题
    油田 Oil Deposits
  • 原文地址:https://www.cnblogs.com/lixingwu/p/13870595.html
Copyright © 2011-2022 走看看