即使是不成熟的尝试,也胜于胎死腹中的策略。

Lucene9.10.0的新特性

Lucene | 作者 Charele | 发布于2024年03月25日 | 阅读数:2245

1111.PNG

有这么一个新特性,文档块,认识一下下它是什么东东,究竟起到什么作用,
已邀请:

Charele - Cisco4321

赞同来自:

1111.PNG

 
要用这个特性,必须满足三个条件。
 
1 要开启段排序,
因为这个特性就是为段排序而准备的。就是这个:
1111.PNG

 
   2 有一个操作是“插入多个文档”,
这里的文档,是Lucene文档。
 红色标,只有“插入多个doc",它才会认为这个段是“有块”的段。
 
如果你执行了100次插入操作,99次都是插入单文档,一次插入多文档。
也是可以的。只要有一次就行
然后你flush生成段,它就会认为这个段是“有块”的段
 
 PS: 在ES里面,大多数情况下只是“插入单个文档”的操作,
你用kibana或者Java程序,插入了一万个文档,它只是执行了一万次“插入单个文档”。
只有Nested文档时是个例外
 
 
3 要额外设置一个参数,叫“父字段”
就是1楼图里绿的说的.随便设一就行,只是一个标记。就跟那个软删除标记一样
2222.PNG

Charele - Cisco4321

赞同来自:

如果你设了段排序,在flush的时候,他会按你设的顺序形成你想要的段,
我以前有一个无聊的疑问,排序生成段后。
原来的次序(就是插入文档时的次序)会不会保留?依据是什么?
 
 那这个“文档块“特性,是什么呢

Charele - Cisco4321

赞同来自:

1111.PNG

 
如果你只是开启段排序(没用现在说的这个“文档块”新特性)
它会严格的按每个文档(里的dv,比如工资字段大小)大小来决定顺序。
 
如果你用了“文档块“,
它就不是按自己的工资来排了,它是找到父文档的工资(红色的地方),
以父亲的工资来排了。
 就是说,如果两个文档有同一个父亲,它们是不分顺序的
儿子文档和它父文档,也是不分顺序的
 
那这儿的父文档(子文档)是什么意思呢?
PS: 这儿和ES里的“父文档”啥的,没有任何关系。

要回复问题请先登录注册