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);
  • 相关阅读:
    Web开发技术大会演讲
    方法的长度
    避免复制与粘贴
    引入工厂方法支持扩展
    利用多态重构为带参方法
    代码质量对系统的影响
    《重构之美》开篇
    老鸟对菜鸟的一些建议
    jQuery 使用 AJAX解决跨域问题jQuery 使用 AJAX解决跨域问题
    uniapp renderjs通信
  • 原文地址:https://www.cnblogs.com/pony/p/1486281.html
Copyright © 2011-2022 走看看