一般来说,我是 elasticsearch 和 nosql 文档模型的新手。
在弹性搜索中,空字段的最佳做法是什么。
我们应该将其声明为 null 还是完全忽略它?
示例:电子邮件字段
[{
id:1,
name:"John",
email:"userone@erj.com"
},
{
id:2,
name:"David",
email:null
},
{
id:3,
name:"Tony"
}]
一般来说,我是 elasticsearch 和 nosql 文档模型的新手。
在弹性搜索中,空字段的最佳做法是什么。
我们应该将其声明为 null 还是完全忽略它?
示例:电子邮件字段
[{
id:1,
name:"John",
email:"userone@erj.com"
},
{
id:2,
name:"David",
email:null
},
{
id:3,
name:"Tony"
}]
你想对空字段做什么完全取决于你。默认情况下,ES 会完全忽略 null 字段。如果需要,您也可以在文档的映射中为空字段指定默认值。
映射示例:
{
"_default_" : {
"properties" : {
"id" : {"type" : "string", "index" : "not_analyzed"},
"name" : {"type" : "string"},
"email" : {"type" : "string", "index" : "not_analyzed", "null_value" : "NOEMAILAVAILABLE"}
}
}
}
此处概述了处理此问题的潜在方法:http ://www.elasticsearch.org/guide/reference/mapping/core-types.html