`
yangfuchao418
  • 浏览: 166245 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

lucene各大版本变化总览

 
阅读更多

3.5

该版本进行了大量优化、改进和Bug修复,包括:

  • 大大降低了控制开放的IndexReader上的协议索引的RAM占用(3~5倍)。
  • 新增IndexSearcher.searchAfter,可在指定ScoreDoc后返回结果(例如之前页面的最后一个文档),以支持deep页用例。
  • 新增SearcherManager,以管理共享和重新开始跨多个搜索线程的IndexSearchers。基本的IndexReader实例如果不再进行引用,则会被安全关闭。
  • 新增SearcherLifetimeManager,为跨多个请求(例如:paging/drilldown)的索引安全地提供了一个一致的视图。
  • 将IndexWriter.optimize重命名为forceMerge,以便去阻止使用这种方法,因为它的使用代价较高,且也不需要使用。
  • 新增NGramPhraseQuery,当使用n-gram分析时,可提升30%-50%的短语查询速度。
  • 重新开放了一个API(IndexReader.openIfChanged),如果索引没有变化,则返回空值,而不是旧的reader。
  • Vector改进:支持更多查询,如通配符和用于产生摘要的边界分析。
  • 修复了若干Bug。

 

3.4

此次发布包括了大量的bug修复、优化及改进。主要改进如下:

  • 修复了一个重要的bug(LUCENE-3418 ):操作系统或电脑崩溃,或是断电时Lucene索引文件很容易受到损坏。
  • 增加一个新的faceting模块(contrib/facet),以便计算检索时间内的分面统计(包括hierarchial和non-hierarchical的)(LUCENE-3079 )。
  • 增加一个新的join模块(contrib/join),能够使用BlockJoinQuery/Collector对内嵌(parent/child)文档进行索引及检索(LUCENE-3171 )。
  • 现在索引文档可以包含词频,而不带地址了(LUCENE-2048 );先前的omitTermFreqAndPositions总是将两者都省略。
  • http://w ww.71pic.com
  • QueryParser模块(contrib/queryparser)现在可以创建NumericRangeQuery。
  • 在contrib/analyzers中增加了一个SynonymFilter,可以进行多关键词索引或查询,其中包含可以读取wordnet及solr同义词格式的分析程序。(LUCENE-3233 )。
  • 现在能够控制缺少排序字段的文档的排序操作,可使用SortField.setMissingValue实现(LUCENE-3390 )。
  • 修复了在使用addIndexes方法后,term vector会被从索引中静默删除的问题(LUCENE-3402

3.3-2011.7

Highlights of the Lucene release include:

  • The spellchecker module now includes suggest/auto-complete functionality, with three implementations: Jaspell, Ternary Trie, and Finite State.
  • Support for merging results from multiple shards , for both "normal" search results (TopDocs.merge) as well as grouped results using the grouping module (SearchGroup.merge, TopGroups.merge).
  • An optimized implementation of KStem, a less aggressive stemmer for English
  • Single-pass grouping implementation based on block document indexing.
  • Improvements to MMapDirectory (now also the default implementation returned by FSDirectory.open on 64-bit Linux ).
  • NRTManager simplifies handling near-real-time search with multiple search threads, allowing the application to control which indexing changes must be visible to which search requests.
  • TwoPhaseCommitTool facilitates performing a multi-resource two-phased commit, including IndexWriter.
  • The default merge policy, TieredMergePolicy, has a new method (set/getReclaimDeletesWeight) to control how aggressively it targets segments with deletions, and is now more aggressive than before by default.
  • PKIndexSplitter tool splits an index by a mid-point term.

 

3.2-2011-6

  • A new grouping module, under lucene/contrib/grouping, enables search results to be grouped by a single-valued indexed field 原来这版本才出来
  • A new IndexUpgrader tool fully converts an old index to the current format.
  • A new Directory implementation, NRTCachingDirectory , caches small segments in RAM, to reduce the I/O load for applications with fast NRT reopen rates.
  • A new Collector implementation, CachingCollector , is able to gather search hits (document IDs and optionally also scores) and then replay them. This is useful for Collectors that require two or more passes to produce results.
  • Index a document block using IndexWriter's new addDocuments or updateDocuments methods. These experimental APIs ensure that the block of documents will forever remain contiguous in the index, enabling interesting future features like grouping and joins.
  • A new default merge policy, TieredMergePolicy , which is more efficient due to being able to merge non-contiguous(邻近的,连续) segments. See http://w ww.71pic.com for details.
  • NumericField is now returned correctly when you load a stored document (previously you received a normal Field back, with the numeric value converted string).
  • Deleted terms are now applied during flushing to the newly flushed segment, which is more efficient than having to later initialize a reader for that segment.

 

 

3.1-2011.3

ConcurrentMergeScheduler is more careful about setting priority of merge threads.

 

ReusableAnalyzerBase makes it easier to reuse TokenStreams correctly.

 

ConstantScoreQuery now allows directly wrapping a Query.

 

IndexWriter is now configured with a new separate builder API, IndexWriterConfig. You can now control IndexWriter's previously fixed internal thread limit by calling setMaxThreadStates.

 

IndexWriter.getReader is replaced by IndexReader .open(IndexWriter)

 

MultiSearcher is deprecated; ParallelMultiSearcher has been absorbed directly into IndexSearcher.

 

  • New TotalHitCountCollector just counts total number of hits.
  • ReaderFinishedListener API enables external caches to evict entries once a segment is finished.

据说是已经实现了grouping,但还是没说出来。。。

 

 

3.0.3-2010-12

a memory leak in IndexWriter exacerbated by frequent commits

这也说明还不是很稳定

 

fixed:NumericRangeQuery / NumericRangeFilter sometimes returning incorrect results with bounds near Long.MIN_VALUE and Long.MAX_VALUE

 

various thread safety issues

 

 

3.0.2-2010-6

Fixed memory leaks in IndexWriter when large documents are indexed. It also uses now shared memory pools for term vectors and stored fields. IndexWriter now releases Fieldable s and Reader s on close .

 

Performance improvements in ParallelMultiSearcher (3.0.2 only).

 

分享到:
评论

相关推荐

    lucene7.7.2稳定版本

    7.7.2 版本是 Lucene 的一个重要稳定版本,它在前一版本的基础上进行了多项改进和优化,为开发者提供了更强大、更稳定的搜索解决方案。 1. **全文检索核心**: Lucene 的核心在于其强大的全文检索能力。它能够对...

    lucene5.X与lucene3.60的版本差异

    这些变化使得Lucene 5.x在整体上更加成熟,更适合大规模、高性能的搜索应用。 总结 Lucene 5.x版本相对于3.6.0有显著的改进,不仅优化了API设计,提高了性能,还修复了许多已知问题。开发者在升级到新版本时,需要...

    Lucene.dll各版本集合

    **Lucene.dll 各版本集合详解** Lucene.dll 是 Apache Lucene 库的 .NET 版本,它是一个高性能、全文本搜索库,被广泛应用于各种应用程序中进行文本检索和索引。Apache Lucene 提供了强大的搜索功能,包括分词、...

    Lucene 4.1 最新版本 源码

    本次我们关注的是Lucene 4.1版本,这是一个重要的更新,包含了对先前版本的诸多错误修复以及性能优化。 在Lucene 4.1版本中,开发者们对源代码进行了大量改进,旨在提升系统的稳定性和搜索效率。这些修复的BUG可能...

    lucene 最新版本所有jar包

    在使用这些jar包时,需要注意的是,不同版本的Lucene可能会有API的变化,升级时需要检查兼容性并更新相应的代码。此外,合理配置分析器以适应业务场景,是提高搜索效果的关键。对于大型项目,还需要考虑如何有效地...

    高版本Lucene的IK分词器

    maven库中现有的ik分词器只支持低版本的Lucene,想要支持高版本的Lucene,需要重写老版本ik分词器里的部分代码. 下载代码片段后导入项目,在创建分词器的时候把new IKAnalyzer替换为 new IKAnalyzer5x即可。

    Lucene.net的四个版本(更新至2018.1.26 )

    基于Lucene.net的四个版本(更新至2018.1.26 ) ------------------------------- Lucene.Net.2.9.2.2-支持.net2.0和4.0; Lucene.Net.2.9.4.1 仅支持.net4.0; Lucene.Net.3.0.3 z支持3.5和4.0; Lucene.Net.4.8.0-...

    lucene各个版本的jar包

    lucene各个版本的jar包,还有solr视频教程下载地址

    Lucene实战(中文版第二版)对应Lucene版本

    《Lucene实战(中文版第二版)》是针对搜索引擎开发领域的经典著作,它详细介绍了如何使用Apache...同时,由于Lucene各版本间的差异,学习历史版本也有助于理解其演进过程,为升级到更高版本或应对旧系统维护提供参考。

    lucene 2.0 api以及lucene 3.0 api

    总的来说,从 Lucene 2.0 进化到 3.0,主要变化在于性能提升、查询功能增强以及对更多场景的支持,这些改进使得 Lucene 成为了更加成熟和全面的全文搜索解决方案。学习并掌握这两个版本的 API,对于从事相关开发工作...

    IKAnalyzer中文分词支持lucene6.5.0版本

    由于林良益先生在2012之后未对IKAnalyzer进行更新,后续lucene分词接口发生变化,导致不可使用,所以此jar包支持lucene6.0以上版本

    IKAnalyzer 支持高版本最新Lucene 5.x、6.x、7.x

    在给定的标题和描述中,我们看到IKAnalyzer已经更新以支持Lucene的高版本,包括5.x、6.x以及最新的7.3.1版本,这表明它持续跟进了Lucene的发展,确保与主流搜索引擎框架的兼容性。 1. **IKAnalyzer详解**: - IK...

    Lucene.NET

    Lucene.NET是Java版本Lucene的.NET语言移植,它保留了原版Lucene的核心功能,同时也进行了优化以适应.NET环境。 Lucene.NET的主要特点包括: 1. **文本分析**: Lucene.NET提供了一个内置的文本分析器(Analyzer)...

    IK Analyzer支持Lucene6.0以上版本

    总的来说,IK Analyzer 2012FF_hf1是为了解决与新版本Lucene的兼容性问题而发布的,确保在Lucene 6.0及以上版本中能够正常使用,提供稳定的中文分词服务。对于使用这些版本Lucene的开发者而言,这是一个非常有价值的...

    支持lucene3.0以上版本的paoding(庖丁)jar

    支持lucene3.0以上版本的分词器paoding的jar包还没有出来,只有源代码。我通过将源代码打包得到此jar.并且测试过。可以和当前最新版本的lucene3.6整合

    luke6.0-兼容lucene5.5版本

    总的来说,Luke 6.0作为一个强大的Lucene索引工具,为开发者提供了便利的界面来探索和理解Lucene 5.5的索引结构。通过深入利用Luke的功能,开发者可以优化索引设计,提高搜索效率,并解决潜在的搜索问题,从而提升...

    Lucene 4.1 最新版本 修复诸多BUG

    总的来说,Lucene 4.1是一个重要的升级,它的发布解决了之前版本存在的诸多问题,增强了系统的稳定性和性能,同时也引入了新的功能和优化,为开发人员提供了更强大、更灵活的搜索工具。如果你正在使用或打算使用...

    lucene,lucene教程,lucene讲解

    lucene,lucene教程,lucene讲解。 为了对文档进行索引,Lucene 提供了五个基础的类 public class IndexWriter org.apache.lucene.index.IndexWriter public abstract class Directory org.apache.lucene.store....

    Lucene.Net

    **Lucene.Net** 是一个基于Java的全文搜索引擎库,它被移植到了.NET平台,为.NET开发者提供了...不同版本的Lucene.Net在功能和性能上有所提升,特别是2.9.2和2.9.4版本,附带的Demo和文档使得学习和使用变得更加便捷。

Global site tag (gtag.js) - Google Analytics