默认的merge policy。

findMerges:

先将全部段依照扣除删除文档之后的字节数(bytesize * (1.0 - delRatio))降序排,对当中size() > 2.5G(maxMergedSegmentSize / 2)的段排除在外,其它仅仅要不是正在归并的段,增加候选。

这个候选的列表假设大于allowedSegCount(allowedSegCount计算方法例如以下: 依照min(最小段size(),2M)做为10路归并在总字节数的限制下计算的段数),则须要从不同位置開始选归并段组合,这些段组合要

进行打分,打分最低的最为一次归并,这样重复挑选,直到全部的候选段都已经挑过。

详细打分公式例如以下:

skew * totAfterMergeBytes ^ 0.05 * nunDelRatio^2.0

假设归并段接近5G(hitLarge=true),skew=1/10,否则为floorsize(candidate(0)) / totAfterMergeBytesFloored。

findForcedMerges提供segmentsToMerge,findForcedMerge对当中是original的段按size()降序排。依照30个一组,从最小的段一次一次加入merge,最后剩下(maxSegmentCount - 1)个段不归并(除非段数>不够)。

findForcedDeletesMerges对于删除文档数超过20%且不是正在归并的段。依照size()排序,按30个一组,从最小的段做一次次归并。

Lucene 4.0 TieredMergePolicy的更多相关文章

  1. 关于Lucene 3.0升级到Lucene 4.x 备忘

    最近,需要对项目进行lucene版本升级.而原来项目时基于lucene 3.0的,很古老的一个版本的了.在老版本中中,我们主要用了几个lucene的东西: 1.查询lucene多目录索引. 2.构建R ...

  2. Lucene 6.0下使用IK分词器

    Lucene 6.0使用IK分词器需要修改修改IKAnalyzer和IKTokenizer. 使用时先新建一个MyIKTokenizer类,一个MyIkAnalyzer类: MyIKTokenizer ...

  3. Lucene 4.0 正式版发布,亮点特性中文解读[转]

    http://blog.csdn.net/accesine960/article/details/8066877 2012年10月12日,Lucene 4.0正式发布了(点击这里下载最新版),这个版本 ...

  4. lucene 3.0.2 + 多文件夹微博数据(时间,微博)构建索引

    package lia.meetlucene; import java.io.File; import java.io.IOException; import java.util.LinkedList ...

  5. lucene 3.0.2 search 各种各样的Query类型

    http://blog.sina.com.cn/s/blog_61d2047c010195mo.html     lucene的这种各种各样的查询类型 1.TermQuery       最简单的Qu ...

  6. lucene 3.0.2 中文分词

    package lia.meetlucene; import java.io.IOException; import java.io.Reader; import java.io.StringRead ...

  7. lucene 3.0.2 操作进阶

    转自:Bannings http://blog.csdn.net/zhangao0086/article/details/ Analyzer(分词器) 分词器能以某种规则对关键字进行分词,将分好的词放 ...

  8. lucene 3.0.2 搜索

    1.lucene 词频 转载:http://mxdxm.iteye.com/blog/989031 lucene in action作为action系列,确实坚持了其实用性的特色.全书花了很大的篇幅来 ...

  9. Lucene 4.0

    关于4.0的Update Index  ,Create Index /* * Create Index */ public static void createIndex() throws IOExc ...

随机推荐

  1. JS——回调函数

    1.回调函数作为参数的形式进行使用 2.回调函数一定程度上达到了解耦效果(模块化.功能化) <script> console.log(op(1, 2, add)); console.log ...

  2. iOS 中可用的受信任根证书列表

    iOS 中可用的受信任根证书列表 iOS 受信任证书存储区中包含随 iOS 一并预装的受信任根证书. 关于信任和证书 以下所列的各个 iOS 受信任证书存储区均包含三类证书: “可信”的证书用于建立信 ...

  3. git 如何创建一个分支

    参考: https://jingyan.baidu.com/article/adc81513b95a20f723bf73bf.html 首先进入本地git仓库目录下,打开git bash环境 使用gi ...

  4. anguar相关

    1.创建组件 在某目录下创建组件  ng g c content/membersManage 2.创建服务 在某目录下创建服务  ng g service services/storage 2.创建模 ...

  5. linux常用命令--ubuntu

    linux 操作系统 一.linux 操作系统概述 二.安装linux系统 三.linux系统环境 ubuntu,默认有6个命令交互通道和一个图形界面交互通道,默认进入到的是图形界面通道 命令交互模式 ...

  6. python包与模块

    Python基础-包与模块 摘要 为重用以及更好的维护代码,Python使用了模块与包:一个Python文件就是一个模块,包是组织模块的特殊目录(包含__init__.py文件). 模块搜索路径,Py ...

  7. win10安装mysql 8.0.11

    mysql安装包可到官网下载,地址:https://dev.mysql.com/downloads/mysql 1.首先解压文件包,我这解压到E:\install_work\mysql目录下: 2.发 ...

  8. js 根据数组分组动态生成table(相同项合并)

    <!doctype html public "-//w3c//dtd html 4.01 transitional//en" "http://www.w3.org/ ...

  9. Spring Web MVC处理流程

    Spring Web MVC 处理流程: 1.浏览器向Spring发出请求,请求交给前端控制器 DispatcherServlet处理 2.控制器通过HandlerMapping找到相应的Contro ...

  10. 方便简单的远程控制:putty和WinSCP

    记录一下WinSCP和putty的用法. putty:远程cmd窗口,在本机通过命令行操作服务器,并且拿到运行结果.而本机只有连接作用,大大减小了负担. 登陆界面输入ip地址,没有特殊情况,默认选项就 ...