esnull_value字段的理解什么时候起作用elasticsearch

编程

插入数据

没有设置 null_value

设置 null_value

{"title":"测试0"}

无字段 num

无字段 num

{"title":"测试1","num":null}

无字段 num

存在字段num(使用默认值)

{"title":"测试2","num":0}

存在字段num

存在字段num

{"title":"测试3","num":""}

无字段 num(类型错误)

存在字段num(使用默认值)

 

设置了null_value,如果没有写入num字段,是不存在的。

设置了null_value,并且写入了num=null,看到的数据是null,但是可以通过 num=0检索的到

 

更详细的参见这个文章  https://blog.csdn.net/qq_29202513/article/details/103710554 写的不错

 

需要注意的是:不推荐使用null_value这个字段

 

null_value仅可以让字段以null_value值被倒排索引存储,以便可以让此文档被检索。并不会替换_source中的实际json文档值
看到这里,其实这个锅应该甩给ES。不明白ES为什么这样来处理。按其它库的处理方式,插入有误的属性直接修改为0就行了,没必要增加这么多的隐性操作。所得非所见的而方式,极大的增加了使用成本和业务理解成本,因此不推荐用null_value这个字段。

 

以上是 esnull_value字段的理解什么时候起作用elasticsearch 的全部内容, 来源链接: utcz.com/z/512438.html

回到顶部