专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »编程综合 » lucene:lucene学习笔记d »正文

lucene:lucene学习笔记d

来源: 发布时间:星期四, 2009年1月15日 浏览:60次 评论:0
  6.Locking机制

  lucence

  内部使用文件来locking默认locking文件放在java.io.tmpdir,可以通过-Dorg.apache.lucene.lockDir=xxx指定新dir有write.lock commit.lock两个文件lock文件用来防止并行操作index如果并行操作 lucene会抛出异常可以通过设置-DdisableLuceneLocks=true来禁止locking这样做般来说很危险除非你有操作系统或者物理级别只读保证比如把index文件刻盘到CDROM上

  十

  2.0中新增特性

  1.

  新增类: org.apache.lucene.index.IndexModier 它合并了  IndexWriter 和 IndexReader好处是我们可以增加和删除文档时候区别担心 synchronisation/locking 问题了

  2.

  增加对 contrib/highlighter NullFragmenter , 这对全文本加亮很有用

  3.

  增加了新类 MatchAllDocsQuery 用来匹配所有文档

  4..

  增加 ParallelReader这个种IndexReader 他合并多个单独索引到个单独虚拟索引上

  5.

  增加 Hits.iterator 思路方法和相应 HitIterator 和 Hit 对象

  他提供了对 Hits对象标准 java.util.Iterator 叠代操作

  每个iterator's next 思路方法返回个 Hit 对象   6.

  在 term vectors 中增加了位置和偏移信息(Grant Ingersoll & Christoph)

  7.

  增加了个新 DateTools 允许用户格式化日期到种更可读格式以便于更好适应索引DateTools 不像 DateFields 类它允许日期指定到1970年以前但必须使用指定日期格式这样在RangeQuerys中使用就更加有效率了

  8.

  增加了对压缩字段存储支持(patch #29370)   例子:

  1.

  判断索引文件是否存在:

  /**

  *

  检查索引是否存在.

   * @param indexDir
   * @
   */
  public boolean indexExist(String indexDir)
  {
     IndexReader.indexExists(indexDir);
  }
private IndexWriter getWriter(String indexFilePath) throws Exception {
     boolean append=true;
     File file= File(indexFilePath+File.separator+"segments");
     (file.exists)
       append=false;
     IndexWriter(indexFilePath,analyzer,append);
   }


0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: