6月14日上海 OSC 源创会开始报名,送机械键盘和开源无码内裤
Lucene 5.1.0 发布,此版本现已提供在: http://www.apache.org/dyn/closer.cgi/lucene/java/5.1.0 。
更新内容如下:
新特性 (9)
LUCENE-6066 : Added DiversifiedTopDocsCollector to misc for collecting no more than a given number of results under a choice of key. Introduces new remove method to core's PriorityQueue.
(Mark Harwood)
LUCENE-6191 : New spatial 2D heatmap faceting for PrefixTreeStrategy.
(David Smiley)
LUCENE-6227 : Added BooleanClause.Occur.FILTER to filter documents without participating in scoring (on the contrary to MUST).
(Adrien Grand)
LUCENE-6294 : Added oal.search.CollectorManager to allow for parallelization of the document collection process on IndexSearcher.
(Adrien Grand)
LUCENE-6303 : Added filter caching baked into IndexSearcher, disabled by default.
(Adrien Grand)
LUCENE-6304 : Added a new MatchNoDocsQuery that matches no documents.
(Lee Hinman via Adrien Grand)
LUCENE-6341 : Add a -fast option to CheckIndex.
(Robert Muir)
LUCENE-6355 : IndexWriter's infoStream now also logs time to write FieldInfos during merge
(Lee Hinman via Mike McCandless)
LUCENE-6339 : Added Near-real time Document Suggester via custom postings format
(Areek Zillur, Mike McCandless, Simon Willnauer)
Bug 修复 (10)
LUCENE-6368 : FST.save can truncate output (BufferedOutputStream may be closed after the underlying stream).
(Ippei Matsushima via Dawid Weiss)
LUCENE-6249 : StandardQueryParser doesn't support pure negative clauses.
(Dawid Weiss)
LUCENE-6190 : Spatial pointsOnly flag on PrefixTreeStrategy shouldn't switch all predicates to Intersects.
(David Smiley)
LUCENE-6242 : Ram usage estimation was incorrect for SparseFixedBitSet when object alignment was different from 8.
(Uwe Schindler, Adrien Grand)
LUCENE-6293 : Fixed TimSorter bug.
(Adrien Grand)
LUCENE-6001 : DrillSideways hits NullPointerException for certain BooleanQuery searches.
(Dragan Jotannovic, jane chang via Mike McCandless)
LUCENE-6311 : Fix NIOFSDirectory and SimpleFSDirectory so that the toString method of IndexInputs confess when they are from a compound file.
(Robert Muir, Mike McCandless)
LUCENE-6381 : Add defensive wait time limit in DocumentsWriterStallControl to prevent hangs during indexing if we miss a .notify/All somewhere
(Mike McCandless)
LUCENE-6386 : Correct IndexWriter.forceMerge documentation to state that up to 3X (X = current index size) spare disk space may be needed to complete forceMerge(1).
(Robert Muir, Shai Erera, Mike McCandless)
LUCENE-6395 : Seeking by term ordinal was failing to set the term's bytes in MemoryIndex
(Mike McCandless)
优化 (16)
LUCENE-6183 , LUCENE-5647 : Avoid recompressing stored fields and term vectors when merging segments without deletions. Lucene50Codec's BEST_COMPRESSION mode uses a higher deflate level for more compact storage.
(Robert Muir)
LUCENE-6184 : Make BooleanScorer only score windows that contain matches.
(Adrien Grand)
LUCENE-6161 : Speed up resolving of deleted terms to docIDs by doing a combined merge sort between deleted terms and segment terms instead of a separate merge sort for each segment. In delete-heavy use cases this can be a sizable speedup.
(Mike McCandless)
LUCENE-6201 : BooleanScorer can now deal with values of minShouldMatch that are greater than one and is used when queries produce dense result sets.
(Adrien Grand)
LUCENE-6218 : Don't decode frequencies or match all positions when scoring is not needed.
(Robert Muir)
LUCENE-6233 Speed up CheckIndex when the index has term vectors
(Robert Muir, Mike McCandless)
LUCENE-6198 : Added the TwoPhaseIterator API, exposed on scorers which is for now only used on phrase queries and conjunctions in order to check positions lazily if the phrase query is in a conjunction with other queries.
(Robert Muir, Adrien Grand, David Smiley)
LUCENE-6244 , LUCENE-6251 : All boolean queries but those that have a minShouldMatch > 1 now either propagate or take advantage of the two-phase iteration capabilities added in LUCENE-6198 .
(Adrien Grand, Robert Muir)
LUCENE-6241 : FSDirectory.listAll() doesnt filter out subdirectories anymore, for faster performance. Subdirectories don't matter to Lucene. If you need to filter out non-index files with some custom usage, you may want to look at the IndexFileNames class.
(Robert Muir)
LUCENE-6262 : ConstantScoreQuery does not wrap the inner weight anymore when scores are not required.
(Adrien Grand)
LUCENE-6263 : MultiCollector automatically caches scores when several collectors need them.
(Adrien Grand)
LUCENE-6275 : SloppyPhraseScorer now uses the same logic as ConjunctionScorer in order to advance doc IDs, which takes advantage of the cost() API.
(Adrien Grand)
LUCENE-6290 : QueryWrapperFilter propagates approximations and FilteredQuery rewrites to a BooleanQuery when the filter is a QueryWrapperFilter in order to leverage approximations.
(Adrien Grand)
LUCENE-6318 : Reduce RAM usage of FieldInfos when there are many fields.
(Mike McCandless, Robert Muir)
LUCENE-6320 : Speed up CheckIndex.
(Robert Muir)
LUCENE-4942 : Optimized the encoding of PrefixTreeStrategy indexes for non-point data: 33% smaller index, 68% faster indexing, and 44% faster searching. YMMV
(David Smiley)
API 改进 (21)
> .totalMaxDoc and MergePolicy.OneMerge.totalDocCount ->
LUCENE-6204 , LUCENE-6208 : Simplify CompoundFormat: remove files() and remove files parameter to write().
(Robert Muir)
LUCENE-6217 : Add IndexWriter.isOpen and getTragicException.
(Simon Willnauer, Mike McCandless)
LUCENE-6218 , LUCENE-6220 : Add Collector.needsScores() and needsScores parameter to Query.createWeight().
(Robert Muir, Adrien Grand)
LUCENE-4524 , LUCENE-6246 , LUCENE-6256 , LUCENE-6271 : Merge DocsEnum and DocsAndPositionsEnum into a single PostingsEnum iterator. TermsEnum.docs() and TermsEnum.docsAndPositions() are replaced by TermsEnum.postings().
(Alan Woodward, Simon Willnauer, Robert Muir, Ryan Ernst)
LUCENE-6222 : Removed TermFilter, use a QueryWrapperFilter(TermQuery) instead. This will be as efficient now that queries can opt out from scoring.
(Adrien Grand)
LUCENE-6269 : Removed BooleanFilter, use a QueryWrapperFilter(BooleanQuery) instead.
(Adrien Grand)
LUCENE-6270 : Replaced TermsFilter with TermsQuery, use a QueryWrapperFilter(TermsQuery) instead.
(Adrien Grand)
LUCENE-6223 : Move BooleanQuery.BooleanWeight to BooleanWeight.
(Robert Muir)
LUCENE-1518 : Make Filter extend Query and return 0 as score.
(Uwe Schindler, Adrien Grand)
LUCENE-6245 : Force Filter subclasses to implement toString API from Query.
(Ryan Ernst)
LUCENE-6268 : Replace FieldValueFilter and DocValuesRangeFilter with equivalent queries that support approximations.
(Adrien Grand)
LUCENE-6289 : Replace DocValuesRangeFilter with DocValuesRangeQuery which supports approximations.
(Adrien Grand)
LUCENE-6266 : Remove unnecessary Directory params from SegmentInfo.toString, SegmentInfos.files/toString, and SegmentCommitInfo.toString.
(Robert Muir)
LUCENE-6272 : Scorer extends DocSetIdIterator rather than DocsEnum
(Alan Woodward)
LUCENE-6281 : Removed support for slow collations from lucene/sandbox. Better performance would be achieved through CollationKeyAnalyzer or ICUCollationKeyAnalyzer.
(Adrien Grand)
LUCENE-6286 : Removed IndexSearcher methods that take a Filter object. A BooleanQuery with a filter clause must be used instead.
(Adrien Grand)
LUCENE-6300 : PrefixFilter, TermRangeFilter and NumericRangeFilter have been removed. Use PrefixQuery, TermRangeQuery and NumericRangeQuery instead.
(Adrien Grand)
LUCENE-6303 : Replaced FilterCache with QueryCache and CachingWrapperFilter with CachingWrapperQuery.
(Adrien Grand)
LUCENE-6317 : Deprecate DataOutput.writeStringSet and writeStringStringMap. Use writeSetOfStrings/Maps instead.
(Mike McCandless, Robert Muir)
LUCENE-6307 : Rename SegmentInfo.getDocCount -> .maxDoc, SegmentInfos.totalDocCount -> .totalMaxDoc, MergeInfo.totalDocCount.totalMaxDoc
(Adrien Grand, Robert Muir, Mike McCandless)
LUCENE-6367 : PrefixQuery now subclasses AutomatonQuery, removing the specialized PrefixTermsEnum.
(Robert Muir, Mike McCandless)
其他 (6)
LUCENE-6248 : Remove unused odd constants from StandardSyntaxParser.jj
(Dawid Weiss)
LUCENE-6193 : Collapse identical catch branches in try-catch statements.
(shalin)
LUCENE-6239 : Removed RAMUsageEstimator's sun.misc.Unsafe calls.
(Robert Muir, Dawid Weiss, Uwe Schindler)
LUCENE-6292 : Seed StringHelper better.
(Robert Muir)
LUCENE-6333 : Refactored queries to delegate their equals and hashcode impls to the super class.
(Lee Hinman via Adrien Grand)
LUCENE-6343 : DefaultSimilarity javadocs had the wrong float value to demonstrate precision of encoded norms
(András Péteri via Mike McCandless)
更多详细内容请看 更新日志 。
Lucene 是apache软件基金会一个开放源代码的全文检索引擎工具包,是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎。 Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎。
Lucene 最初是由Doug Cutting所撰写的,是一位资深全文索引/检索专家,曾经是V-Twin搜索引擎的主要开发者,后来在Excite担任高级系统架构设计师,目前从事 于一些INTERNET底层架构的研究。他贡献出Lucene的目标是为各种中小型应用程式加入全文检索功能。
OSChina 使用 Lucene 实现全文搜索。
在线Javadoc: http://tool.oschina.net/apidocs/apidoc?api=lucene-3.6.0