Elasticsearch 空值和空值有什么区别?



我有一个映射,就像这个

{
"properties": {
"id": {
"type": "keyword"
},
"name": {
"type": "keyword"
}
}
}

关于name字段,在我的原始数据中,name可以是空的""。我有两个选择将文档放入ES:

{
"id" : 6 ,
"name" : ""
}

{
"id" : 6 ,
"name" : null
}

我不需要搜索像name=="这样的数据"或name!="quot;或name==null或name!=无效的

我看到装载empty values会在其他地方导致性能问题。并看到null value不会被索引和搜索。所以我想放一个空字段。

我的用例有什么不同吗?

具有空""字符串值的字段将为exists查询生成true,这意味着即使您的值实际上不包含值,对于Elasticsearch,它也包含值。

告诉ES您的字段不包含值的唯一方法是指定null。

空字符串是长度为零的字符串实例,而空字符串根本没有值。

最新更新