Lucene - Directory 类

  • 简述

    这个类表示索引的存储位置,一般是一个文件列表。这些文件称为索引文件。索引文件通常创建一次,然后用于读取操作或可以删除​​。
  • 类声明

    以下是声明 org.apache.lucene.store.Directory 类 -
    
    public abstract class Directory
       extends Object
          implements Closeable
    
  • 字段

    以下是字段 org.apache.lucene.store.Directory class
    • 受保护的布尔值 isOpen
    • protected LockFactory lockFactory − 持有 LockFactory 实例(为这个 Directory 实例实现锁定)。
  • 类构造函数

    下表显示了一个类构造函数 -
    S.No. 构造函数和描述
    1
    Directory()
  • 类方法

    下表显示了不同的类方法 -
    S.No. 方法和说明
    1
    void clearLock(String name)
    尝试清除(强制解锁并移除)指定的锁。
    2
    abstract void close()
    关闭商店。
    3
    static void copy(Directory src, Directory dest, boolean closeDirSrc)
    已弃用。对于需要复制的每个文件,应替换为对复制(目录、字符串、字符串)的调用。您可以使用以下代码 -
    
    IndexFileNameFilter filter = IndexFileNameFilter.getFilter();
    for (String file : src.listAll()) {
       
       if (filter.accept(null, file)) {
         src.copy(dest, file, file);
       }
    }
    
    4
    void copy(Directory to, String src, String dest)
    复制文件 src 到新文件名下的目录 dest.
    5
    abstract IndexOutput createOutput(String name)
    在具有给定名称的目录中创建一个新的空文件。
    6
    abstract void deleteFile(String name)
    删除目录中的现有文件。
    7
    protected void ensureOpen() =
    8
    abstract boolean fileExists(String name)
    如果存在具有给定名称的文件,则返回 true。
    9
    abstract long fileLength(String name)
    返回目录中文件的长度。
    10
    abstract long fileModified(String name)
    已弃用。
    11
    LockFactory getLockFactory()
    获取此 Directory 实例用于其锁定实现的 LockFactory。
    12
    String getLockID()
    返回唯一区分此目录实例与其他目录实例的字符串标识符。
    13
    abstract String[] listAll()
    返回一个字符串数组,目录中的每个文件一个。
    14
    Lock makeLock(String name)
    构造一个锁。
    15
    abstract IndexInput openInput(String name)
    返回读取现有文件的流。
    16
    IndexInput openInput(String name, int bufferSize)
    返回读取现有文件的流,具有指定的读取缓冲区大小。
    17
    void setLockFactory(LockFactory lockFactory)
    设置此 Directory 实例应用于其锁定实现的 LockFactory。
    18
    void sync(Collection<String> names)
    确保将这些文件的任何权限移至稳定存储。
    19
    void sync(String name)
    已弃用。改用同步(集合)。为了便于迁移,您可以更改代码以调用 sync(Collections.singleton(name))
    20
    String toString()
    21
    abstract void touchFile(String name)
    已弃用。Lucene 从不使用这个 API;它将在 4.0 中删除。
  • 继承的方法

    这个类继承了以下类的方法 -
    • java.lang.Object