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);
  • 相关阅读:
    26_为什么我的删除刷新没有办法删除动态添加的数据呢?
    075_not in (null):这代表是什么意思呢?
    074_form表单中的value值
    025_回调函数没有遍历出数据
    073_模糊查询
    072_jsp追加与刷新数据
    071_为什么要catch return.setCode()?
    070_jstl中的三目表达式
    069_都是查询语句时得事物?
    打印周报模板
  • 原文地址:https://www.cnblogs.com/pony/p/1486281.html
Copyright © 2011-2022 走看看