`
titanfoot
  • 浏览: 262435 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Lucene Change Log (Release 3.0.0 [2009-11-25])

阅读更多
Lucene Change Log
$Id: CHANGES.txt 881216 2009-11-17 09:45:02Z uschindler $

======================= Release 3.0.0 2009-11-25 =======================

Changes in backwards compatibility policy

* LUCENE-1979: Change return type of SnapshotDeletionPolicy#snapshot()
  from IndexCommitPoint to IndexCommit. Code that uses this method
  needs to be recompiled against Lucene 3.0 in order to work. The
  previously deprecated IndexCommitPoint is also removed.
  (Michael Busch)

* o.a.l.Lock.isLocked() is now allowed to throw an IOException.
  (Mike McCandless)

* LUCENE-2030: CachingWrapperFilter and CachingSpanFilter now hide
  the internal cache implementation for thread safety, before it was
  declared protected.  (Peter Lenahan, Uwe Schindler, Simon Willnauer)

* LUCENE-2053: If you call Thread.interrupt() on a thread inside
  Lucene, Lucene will do its best to interrupt the thread.  However,
  instead of throwing InterruptedException (which is a checked
  exception), you'll get an oal.util.ThreadInterruptedException (an
  unchecked exception, subclassing RuntimeException).  The interrupt
  status on the thread is cleared when this exception is thrown.
  (Mike McCandless)

* LUCENE-2052: Some methods in Lucene core were changed to accept
  Java 5 varargs. This is not a backwards compatibility problem as
  long as you not try to override such a method. We left common
  overridden methods unchanged and added varargs to constructors,
  static, or final methods (MultiSearcher,...).  (Uwe Schindler)

* LUCENE-1558: IndexReader.open(Directory) now opens a readOnly=true
  reader, and new IndexSearcher(Directory) does the same.  Note that
  this is a change in the default from 2.9, when these methods were
  previously deprecated.  (Mike McCandless)

Changes in runtime behavior

* LUCENE-1677: Remove the system property to set SegmentReader class
  implementation.  (Uwe Schindler)

* LUCENE-1960: As a consequence of the removal of Field.Store.COMPRESS,
  support for this type of fields was removed. Lucene 3.0 is still able
  to read indexes with compressed fields, but as soon as merges occur
  or the index is optimized, all compressed fields are decompressed
  and converted to Field.Store.YES. Because of this, indexes with
  compressed fields can suddenly get larger. Also the first merge with
  decompression cannot be done in raw mode, it is therefore slower.
  This change has no effect for code that uses such old indexes,
  they behave as before (fields are automatically decompressed
  during read). Indexes converted to Lucene 3.0 format cannot be read
  anymore with previous versions.
  It is recommended to optimize your indexes after upgrading to convert
  to the new format and decompress all fields.
  If you want compressed fields, you can use CompressionTools, that
  creates compressed byte[] to be added as binary stored field. This
  cannot be done automatically, as you also have to decompress such
  fields when reading. You have to reindex to do that.
  (Michael Busch, Uwe Schindler)

* LUCENE-2060: Changed ConcurrentMergeScheduler's default for
  maxNumThreads from 3 to 1, because in practice we get the most
  gains from running a single merge in the background.  More than one
  concurrent merge causes a lot of thrashing (though it's possible on
  SSD storage that there would be net gains).  (Jason Rutherglen,
  Mike McCandless)

API Changes

* LUCENE-1257, LUCENE-1984, LUCENE-1985, LUCENE-2057: Port to Java 1.5.
  (Uwe Schindler, Robert Muir, Karl Wettin, Paul Elschot, Kay Kay, Shai Erera)

* Generify Lucene API:

  - TokenStream/AttributeSource: Now addAttribute()/getAttribute() return an
    instance of the requested attribute interface and no cast needed anymore.
  - NumericRangeQuery, NumericRangeFilter, and FieldCacheRangeFilter
    now have Integer, Long, Float, Double as type param.
  - Document.getFields() returns List<Fieldable>
  - Query.extractTerms(Set<Term>)
  - CharArraySet and stop word sets in core/contrib
  - PriorityQueue
  - TopDocCollector
  - MultiTermQueryWrapperFilter
  - CloseableThreadLocal
  - MapOfSets
  - o.a.l.util.cache package
  - lot's of internal APIs of IndexWriter
 (Uwe Schindler, Michael Busch, Kay Kay, Robert Muir, Adriano Crestani)
  
* LUCENE-1944, LUCENE-1856, LUCENE-1957, LUCENE-1960, LUCENE-1961,
  LUCENE-1968, LUCENE-1970, LUCENE-1946, LUCENE-1971, LUCENE-1975,
  LUCENE-1972, LUCENE-1978, LUCENE-944, LUCENE-1979, LUCENE-1973, LUCENE-2011:
  Remove deprecated methods/constructors/classes:

  - All String/File directory paths in IndexReader /
    IndexSearcher / IndexWriter.
  - Remove FSDirectory.getDirectory()
  - Make FSDirectory abstract.
  - Remove Field.Store.COMPRESS (see above).
  - Remove Filter.bits(IndexReader) method and make
    Filter.getDocIdSet(IndexReader) abstract.
  - Remove old DocIdSetIterator methods and make the new ones abstract.
  - Remove some methods in PriorityQueue.
  - Remove old TokenStream API and backwards compatibility layer.
  - Remove RangeQuery, RangeFilter and ConstantScoreRangeQuery.
  - Remove SpanQuery.getTerms().
  - Remove ExtendedFieldCache, custom and auto caches, SortField.AUTO.
  - Remove old-style custom sort.
  - Remove Legacy search setting in SortField.
  - Remove Hits and all references from core and contrib.
  - Remove HitCollector and its TopDocs support implementations.
  - Remove term field and accessors in MultiTermQuery
    (and fix Highlighter).
  - Remove methods in BooleanQuery.
  - Remove methods in Similarity.
  - Remove BoostingTermQuery.
  - Remove MultiValueSource.
  - Remove Scorer.explain(int).
  ...and some other minor ones (Uwe Schindler, Michael Busch, Mark Miller)
  
* LUCENE-1925: Make IndexSearcher's subReaders and docStarts members
  protected; add expert ctor to directly specify reader, subReaders
  and docStarts.  (John Wang, Tim Smith via Mike McCandless)

* LUCENE-1753: Make not yet final TokenStreams final to enforce 
  decorator pattern. (Uwe Schindler)

* LUCENE-1945: All public classes that have a close() method now
  also implement java.io.Closeable (IndexReader, IndexWriter, Directory,...).
  (Uwe Schindler)

* LUCENE-1998: Change all Parameter instances to Java 5 enums. This
  is no backwards-break, only a change of the super class. Parameter
  was deprecated and will be removed in a later version.
  (DM Smith, Uwe Schindler)
   
Bug fixes

* LUCENE-1951: When the text provided to WildcardQuery has no wildcard
  characters (ie matches a single term), don't lose the boost and
  rewrite method settings.  Also, rewrite to PrefixQuery if the
  wildcard is form "foo*", for slightly faster performance. (Robert
  Muir via Mike McCandless)

* LUCENE-2013: SpanRegexQuery does not work with QueryScorer.
  (Benjamin Keil via Mark Miller)

New features

* LUCENE-1933: Provide a convenience AttributeFactory that creates a
  Token instance for all basic attributes.  (Uwe Schindler)

* LUCENE-2041: Parallelize the rest of ParallelMultiSearcher. Lots of
  code refactoring and Java 5 concurrent support in MultiSearcher.
  (Joey Surls, Simon Willnauer via Uwe Schindler)
  
* LUCENE-2051: Add CharArraySet.copy() as a simple method to copy
  any Set<?> to a CharArraySet that is optimized, if Set<?> is already
  an CharArraySet.  (Simon Willnauer)

Optimizations

* LUCENE-1183: Optimize Levenshtein Distance computation in
  FuzzyQuery.  (Cédrik Lime via Mike McCandless)

* LUCENE-2006: Optimization of FieldDocSortedHitQueue to always
  use Comparable<?> interface.  (Uwe Schindler, Mark Miller)

Build

* LUCENE-486: Remove test->demo dependencies. (Michael Busch)

* LUCENE-2024: Raise build requirements to Java 1.5 and ANT 1.7.0
  (Uwe Schindler, Mike McCandless)
分享到:
评论

相关推荐

    lucene-3.0.0

    《Apache Lucene 3.0.0:全文检索与索引库详解》 Apache Lucene 是一个开源的全文检索库,由Java编写,为开发者提供了强大的文本搜索功能。作为一款高度可扩展的搜索引擎框架,Lucene 3.0.0 版本在当时代表着其最新...

    lucene-3.0.0-src.zip

    《Apache Lucene 3.0.0 源码解析》 Apache Lucene 是一个开源全文搜索引擎库,它为开发者提供了强大的文本搜索功能。在这个版本3.0.0的源码中,我们可以深入理解Lucene的核心机制和设计原理,这对于开发、优化以及...

    lucene-analyzers-smartcn-7.7.0-API文档-中文版.zip

    赠送jar包:lucene-analyzers-smartcn-7.7.0.jar; 赠送原API文档:lucene-analyzers-smartcn-7.7.0-javadoc.jar; 赠送源代码:lucene-analyzers-smartcn-7.7.0-sources.jar; 赠送Maven依赖信息文件:lucene-...

    lucene-spatial3d-6.6.0-API文档-中文版.zip

    赠送jar包:lucene-spatial3d-6.6.0.jar; 赠送原API文档:lucene-spatial3d-6.6.0-javadoc.jar; 赠送源代码:lucene-spatial3d-6.6.0-sources.jar; 赠送Maven依赖信息文件:lucene-spatial3d-6.6.0.pom; 包含...

    lucene-spatial3d-7.3.1-API文档-中英对照版.zip

    赠送jar包:lucene-spatial3d-7.3.1.jar; 赠送原API文档:lucene-spatial3d-7.3.1-javadoc.jar; 赠送源代码:lucene-spatial3d-7.3.1-sources.jar; 赠送Maven依赖信息文件:lucene-spatial3d-7.3.1.pom; 包含...

    lucene-core-3.0.0.rar_lucene_lucene-core3

    《深入剖析Lucene 3.0.0:Java搜索引擎的核心技术》 在Java开发领域,Lucene是一个不可或缺的全文搜索引擎库,它为开发者提供了强大的文本分析、索引和搜索功能。这里我们关注的是Lucene 3.0.0版本,它是Lucene历史...

    lucene-core-7.7.0-API文档-中文版.zip

    赠送jar包:lucene-core-7.7.0.jar; 赠送原API文档:lucene-core-7.7.0-javadoc.jar; 赠送源代码:lucene-core-7.7.0-sources.jar; 赠送Maven依赖信息文件:lucene-core-7.7.0.pom; 包含翻译后的API文档:lucene...

    lucene-analyzers-common-6.6.0-API文档-中文版.zip

    赠送jar包:lucene-analyzers-common-6.6.0.jar; 赠送原API文档:lucene-analyzers-common-6.6.0-javadoc.jar; 赠送源代码:lucene-analyzers-common-6.6.0-sources.jar; 赠送Maven依赖信息文件:lucene-...

    lucene-spatial3d-7.2.1-API文档-中文版.zip

    赠送jar包:lucene-spatial3d-7.2.1.jar; 赠送原API文档:lucene-spatial3d-7.2.1-javadoc.jar; 赠送源代码:lucene-spatial3d-7.2.1-sources.jar; 赠送Maven依赖信息文件:lucene-spatial3d-7.2.1.pom; 包含...

    lucene-spatial3d-6.6.0-API文档-中英对照版.zip

    赠送jar包:lucene-spatial3d-6.6.0.jar; 赠送原API文档:lucene-spatial3d-6.6.0-javadoc.jar; 赠送源代码:lucene-spatial3d-6.6.0-sources.jar; 赠送Maven依赖信息文件:lucene-spatial3d-6.6.0.pom; 包含...

    lucene-backward-codecs-7.3.1-API文档-中英对照版.zip

    赠送jar包:lucene-backward-codecs-7.3.1.jar; 赠送原API文档:lucene-backward-codecs-7.3.1-javadoc.jar; 赠送源代码:lucene-backward-codecs-7.3.1-sources.jar; 赠送Maven依赖信息文件:lucene-backward-...

    lucene-demos-3.0.2.jar

    lucene-demos-3.0.2.jar 搜索引擎

    lucene-spatial3d-7.7.0-API文档-中文版.zip

    赠送jar包:lucene-spatial3d-7.7.0.jar; 赠送原API文档:lucene-spatial3d-7.7.0-javadoc.jar; 赠送源代码:lucene-spatial3d-7.7.0-sources.jar; 赠送Maven依赖信息文件:lucene-spatial3d-7.7.0.pom; 包含...

    lucene-spatial3d-7.3.1-API文档-中文版.zip

    赠送jar包:lucene-spatial3d-7.3.1.jar; 赠送原API文档:lucene-spatial3d-7.3.1-javadoc.jar; 赠送源代码:lucene-spatial3d-7.3.1-sources.jar; 赠送Maven依赖信息文件:lucene-spatial3d-7.3.1.pom; 包含...

    Lucene-3.0.0+Tomcat集成.doc

    ### Lucene-3.0.0与Tomcat集成配置详解 #### 一、Lucene 开发环境配置 **1. Lucene 开发包下载** 首先,需要从官方网站或其他可信源下载Lucene-3.0.0开发包。推荐直接访问Apache官网下载最新稳定版本的Lucene,以...

    lucene-spatial3d-7.7.0-API文档-中英对照版.zip

    赠送jar包:lucene-spatial3d-7.7.0.jar; 赠送原API文档:lucene-spatial3d-7.7.0-javadoc.jar; 赠送源代码:lucene-spatial3d-7.7.0-sources.jar; 赠送Maven依赖信息文件:lucene-spatial3d-7.7.0.pom; 包含...

    lucene-spatial3d-7.2.1-API文档-中英对照版.zip

    赠送jar包:lucene-spatial3d-7.2.1.jar; 赠送原API文档:lucene-spatial3d-7.2.1-javadoc.jar; 赠送源代码:lucene-spatial3d-7.2.1-sources.jar; 赠送Maven依赖信息文件:lucene-spatial3d-7.2.1.pom; 包含...

    java全文搜索lucene-3.0.0-src+lib.zip

    《Java全文搜索引擎Lucene 3.0.0源码及库文件详解》 Java全文搜索引擎Lucene是一款开源的、高性能的文本分析和检索库,它为开发者提供了在Java应用程序中实现全文搜索功能的能力。本篇将深入探讨Lucene 3.0.0版本的...

    lucene-spatial-extras-7.3.1-API文档-中英对照版.zip

    赠送jar包:lucene-spatial-extras-7.3.1.jar; 赠送原API文档:lucene-spatial-extras-7.3.1-javadoc.jar; 赠送源代码:lucene-spatial-extras-7.3.1-sources.jar; 赠送Maven依赖信息文件:lucene-spatial-extras...

    lucene-analyzers-smartcn-7.7.0-API文档-中英对照版.zip

    赠送jar包:lucene-analyzers-smartcn-7.7.0.jar; 赠送原API文档:lucene-analyzers-smartcn-7.7.0-javadoc.jar; 赠送源代码:lucene-analyzers-smartcn-7.7.0-sources.jar; 赠送Maven依赖信息文件:lucene-...

Global site tag (gtag.js) - Google Analytics