shangban 发表于 2015-7-23 12:41:23

Lucene 5.1.0 发布,Java 搜索引擎

腾讯SNG夏日招聘集结号:200个空缺岗位,JAVA、C++、云计算、Android……
  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 morethan a given number of results under a choice of key. Introduces new removemethod to core's PriorityQueue.
  (Mark Harwood)
[*]
  LUCENE-6191: New spatial 2D heatmap>  (David Smiley)
[*]  LUCENE-6227: Added BooleanClause.Occur.FILTER to filter documents withoutparticipating in scoring (on the contrary to MUST).
  (Adrien Grand)
[*]  LUCENE-6294: Added oal.search.CollectorManager to allow for parallelizationof the document collection process on IndexSearcher.
  (Adrien Grand)
[*]  LUCENE-6303: Added filter caching baked into IndexSearcher, disabled bydefault.
  (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 FieldInfosduring 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 closedafter 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 toIntersects.
  (David Smiley)
[*]  LUCENE-6242: Ram usage estimation was incorrect for SparseFixedBitSet whenobject alignment was different from 8.
  (Uwe Schindler, Adrien Grand)
[*]  LUCENE-6293: Fixed TimSorter bug.
  (Adrien Grand)
[*]  LUCENE-6001: DrillSideways hits NullPointerException for certainBooleanQuery searches.
  (Dragan Jotannovic, jane chang via MikeMcCandless)
[*]  LUCENE-6311: Fix NIOFSDirectory and SimpleFSDirectory so that thetoString method of IndexInputs confess when they are from a compoundfile.
  (Robert Muir, Mike McCandless)
[*]  LUCENE-6381: Add defensive wait time limit inDocumentsWriterStallControl to prevent hangs during indexing if wemiss a .notify/All somewhere
  (Mike McCandless)
[*]
  LUCENE-6386: Correct IndexWriter.forceMerge documentation to statethat up to 3X (X = current index>  (Robert Muir, Shai Erera, Mike McCandless)
[*]  LUCENE-6395: Seeking by term ordinal was failing to set the term'sbytes in MemoryIndex
  (Mike McCandless)
  优化(16)

[*]  LUCENE-6183, LUCENE-5647: Avoid recompressing stored fieldsand term vectors when merging segments without deletions.Lucene50Codec's BEST_COMPRESSION mode uses a higher deflatelevel for more compact storage.
  (Robert Muir)
[*]  LUCENE-6184: Make BooleanScorer only score windows that containmatches.
  (Adrien Grand)
[*]  LUCENE-6161: Speed up resolving of deleted terms to docIDs by doinga combined merge sort between deleted terms and segment termsinstead of a separate merge sort for each segment.  In delete-heavyuse cases this can be a sizable speedup.
  (Mike McCandless)
[*]  LUCENE-6201: BooleanScorer can now deal with values of minShouldMatch thatare 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 scoringis 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 whichis for now only used on phrase queries and conjunctions in order to checkpositions 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 aminShouldMatch > 1 now either propagate or take advantage of the two-phaseiteration 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 tofilter out non-index files with some custom usage, you may want to look atthe IndexFileNames>  (Robert Muir)
[*]  LUCENE-6262: ConstantScoreQuery does not wrap the inner weight anymore whenscores are not required.
  (Adrien Grand)
[*]  LUCENE-6263: MultiCollector automatically caches scores when severalcollectors need them.
  (Adrien Grand)
[*]
  LUCENE-6275: SloppyPhraseScorer now uses the same logic as ConjunctionScorerin order to advance doc>  (Adrien Grand)
[*]  LUCENE-6290: QueryWrapperFilter propagates approximations and FilteredQueryrewrites to a BooleanQuery when the filter is a QueryWrapperFilter in orderto 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 fornon-point data: 33% smaller index, 68% faster indexing, and 44% fastersearching. 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.
  (SimonWillnauer, Mike McCandless)
[*]  LUCENE-6218, LUCENE-6220: Add Collector.needsScores() and needsScoresparameter to Query.createWeight().
  (Robert Muir, Adrien Grand)
[*]  LUCENE-4524, LUCENE-6246, LUCENE-6256, LUCENE-6271: Merge DocsEnum and DocsAndPositionsEnuminto 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 fromscoring.
  (Adrien Grand)
[*]  LUCENE-6269: Removed BooleanFilter, use a QueryWrapperFilter(BooleanQuery)instead.
  (Adrien Grand)
[*]  LUCENE-6270: Replaced TermsFilter with TermsQuery, use aQueryWrapperFilter(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 equivalentqueries that support approximations.
  (Adrien Grand)
[*]  LUCENE-6289: Replace DocValuesRangeFilter with DocValuesRangeQuery whichsupports 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
  (AlanWoodward)
[*]  LUCENE-6281: Removed support for slow collations from lucene/sandbox. Betterperformance would be achieved through CollationKeyAnalyzer orICUCollationKeyAnalyzer.
  (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 beenremoved. Use PrefixQuery, TermRangeQuery and NumericRangeQuery instead.
  (Adrien Grand)
[*]  LUCENE-6303: Replaced FilterCache with QueryCache and CachingWrapperFilterwith 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 thespecialized PrefixTermsEnum.
  (Robert Muir, Mike McCandless)
  其他 (6)

[*]  LUCENE-6248: Remove unused odd constants from StandardSyntaxParser.jj
  (Dawid Weiss)
[*]
  LUCENE-6193: Collapse>  (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 hashcodeimpls to the super>  (Lee Hinman via Adrien Grand)
[*]  LUCENE-6343: DefaultSimilarity javadocs had the wrong float value todemonstrate 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
页: [1]
查看完整版本: Lucene 5.1.0 发布,Java 搜索引擎