Lucene4.0 LogMergePolicy

其特点是给定的段列表顺序归并,不像TieredMergePolicy那样按大小排序之后决定。

norm = log(10),levelFloor=log(minMergeSize)/norm,对段列表中的元素,添加level值为log(size)/norm(即使log 10 size)的seg。

从列表位置0开始,取最大的logLevel为maxLevel,levelBottom=(float)(max-0.75)(如果maxLevel<=levelFloor,levelBottom=-1.0,levelBottom<levelFloor则levelBottom=levelFloor)。

从后往前找到第一个level大于等于levelBottom的位置upto,在[start, upto + 1)中以10个一组,在其中如果找不到任何size >= maxMergeSize,sizeDocs >= maxMergeDocs或正在合并的段时,将其加入merges数组。

下次则从1+upto位置开始找归并段。

findForceMerges只发生在IndexWriter中有maxNumSegments限制的情况下。

LogDocMergePolicy中size按照sizeDocs计算,minMergeSize默认为1000.

LogByteSizeMergePolicy中默认minMergeSize是1.6M,maxMergeSize是2G。

Lucene4.0 LogMergePolicy

时间: 2024-08-09 02:17:26

Lucene4.0 LogMergePolicy的相关文章

lucene4.0与IKAnalyzer的冲突

在网上下载了lucene当前最新版本4.0,以及IKAnalyzer中文分词器的完整发布包. 运行之后发现异常:Exception in thread "main" java.lang.VerifyError: class org.wltea.analyzer.lucene.IKAnalyzer overrides final method tokenStream.(Ljava/lang/String;Ljava/io/Reader;)Lorg/apache/lucene/analys

Lucene安装配置(4.6.0)

百度文库原始链接:http://wenku.baidu.com/link?url=WxkCi3zeXu8du3XGx9FxAeUxMiEx-e0EaKmoCKqa8_0Zy0INURfv8V5FePF5iSKWgi-VXgJwastrcg1AEH_bw14iCtMb4bhQpUzwiMCcjvy 6Lucene-4.6.0的安装与配置的详细过程 第一步:下载安装JDK 在安装lucene之前需要首先安装jdk,因为lucene是在jdk的环境下运行的.最好下载jdk1.7以上的版本.这里我用的是

lucene 4.0学习

一:官方文件 http://lucene.apache.org/core/4_0_0/ ps:网上参考文章:http://www.cnblogs.com/xing901022/p/3933675.html 二:jar包 (1)lucene-core-4.0.0.jar (2)lucene-analyzers-common-4.0.0.jar (3)lucene-analyzers-smartcn-4.0.0.jar (4)lucene-queries-4.0.0.jar (5)lucene-qu

【手把手教你全文检索】Apache Lucene初探

PS: 苦学一周全文检索,由原来的搜索小白,到初次涉猎,感觉每门技术都博大精深,其中精髓亦是不可一日而语.那小博猪就简单介绍一下这一周的学习历程,仅供各位程序猿们参考,这其中不涉及任何私密话题,因此也不用打马赛克了,都是网络分享的开源资料,当然也不涉及任何利益关系. 如若转载,还请注明出处——xingoo 讲解之前,先来分享一些资料 首先呢,学习任何一门新的亦或是旧的开源技术,百度其中一二是最简单的办法,先了解其中的大概,思想等等.这里就贡献一个讲解很到位的ppt.已经被我转成了PDF,便于搜藏

java--全文检索框架--Lucene

讲解之前,先来分享一些资料 首先呢,学习任何一门新的亦或是旧的开源技术,百度其中一二是最简单的办法,先了解其中的大概,思想等等.这里就贡献一个讲解很到位的ppt.已经被我转成了PDF,便于搜藏. 其次,关于第一次编程初探,建议还是查看官方资料.百度到的资料,目前Lucene已经更新到4.9版本,这个版本需要1.7以上的JDK,所以如果还用1.6甚至是1.5的小盆友,请参考低版本,由于我用的1.6,因此在使用Lucene4.0. 这是Lucene4.0的官网文档:http://lucene.apa

luence全文检索(简介)

刚开始做全文检索也是找了很多资料但是网上的都不是很齐全luence是个很不多的工具 Lucene4.0的官网文档:http://lucene.apache.org/core/4_0_0/core/overview-summary.html 这个工具跟新很快很多风格不一样比如,以前版本的申请IndexWriter时,是这样的: IndexWriter indexWriter = new IndexWriter(indexDir,luceneAnalyzer, true );但是4.0,我们需要配置

Solr配置中文分词器IKAnalyzer及增删改查调用

一.配置IKAnalyzer中文分词器 Solr 版本5.2.1 IKAnalyzer2012_u6.jar报错 ,用IKAnalyzer2012_FF_hf1.jar 替换可解决 解决lucene4.0与IKAnalyzer的冲突.解决Exception in thread "main" java.lang.VerifyError: class org.wltea.analyzer.lucene.IKAnalyzer overrides final method tokenStrea

英文分词的算法和原理

英文分词的算法和原理 根据文档相关性计算公式 TF-IDF:http://lutaf.com/210.htm BM25:http://lutaf.com/211.htm 分词质量对于基于词频的相关性计算是无比重要的 英文(西方语言)语言的基本单位就是单词,所以分词特别容易做,只需要3步: 根据空格/符号/段落 分隔,得到单词组 过滤,排除掉stop word 提取词干 第一步:按空格/符号分词 用正则表达式很容易 pattern = r'''(?x)    # set flag to allow

Lucene41PostingWriter源码分析

原来看lucene4.0的posting格式(http://blog.csdn.net/jollyjumper/article/details/30017581),发现这还是比较简单的VInt格式,据说VInt压缩解压都不错(medium),但解压时分支太多打乱CPU流水线因而不够高效,流行的索引压缩有很多,for,simple9,simple16,PForDelta是比较流行的一种,发现lucene 4.1就实现了一个for编码的postings format.从lucene nightly