zoukankan      html  css  js  c++  java
  • lucene建立索引时候的用到的一些文档和目录操作

    在前边的文章中多是用的添加一个document,这里介绍一下其它的文档操作
    1,按照编号删除
    public void deleteDoc(String indexDir) throws Exception{
            IndexReader reader 
    = IndexReader.open(indexDir);
            reader.delete(
    1);
            reader.close();
        }
    2,根据term来删除
    public void deleteDocWithTerm(String indexDir) throws Exception{
            IndexReader reader 
    = IndexReader.open(indexDir);
            reader.delete(
    new Term("city","beijing"));
            reader.close();
        }
      3,取消删除
    public void undeleteDoc(String indexDir) throws Exception{
            IndexReader reader 
    = IndexReader.open(indexDir);
            reader.delete(
    1);
            reader.undeleteAll();
            reader.close();
        }
    4,删除后优化
    public void mergeDoc(String indexDir) throws Exception{
            IndexReader reader 
    = IndexReader.open(indexDir);
            reader.delete(
    new Term("city","beijing"));
            reader.close();
            
            IndexWriter writer 
    = new IndexWriter(indexDir,new StandardAnalyzer(),true);
            writer.optimize();
            writer.close();
        }

    5,把RAMDirectory中的索引合并到FSDirectroy中
    public void indexOperator(String indexDir) throws Exception{
            FSDirectory fsDir 
    = FSDirectory.getDirectory(indexDir,true);
            RAMDirectory ramDir 
    = new RAMDirectory();
            IndexWriter fsWriter 
    = new  IndexWriter(fsDir,new SimpleAnalyzer(),true);
            IndexWriter ramWriter 
    = new IndexWriter(ramDir,new SimpleAnalyzer(),true);
            
    //..ramWriter add doc
            fsWriter.addIndexes(new Directory[]{ramDir});
            ramWriter.close();
            
        }
    6,把索引的内容直接读入内存
    RAMDirectory ramDir = new RAMDirectory(indexDir);
  • 相关阅读:
    BZOJ1588_营业额统计_KEY
    关于欧几里得算法的认识
    javacv实战篇
    图像处理里面的的尺度什么?
    改成 否“依然报LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏”问题的解决
    javacv
    以前写过的一些oracle语句
    warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
    在vs环境中跑动sift特征提取(原理部分)
    《sift算法详解》阅读笔记
  • 原文地址:https://www.cnblogs.com/pony/p/1486281.html
Copyright © 2011-2022 走看看