推荐: https://www.cnblogs.com/wufengtinghai/p/17045448.html
elasticsearch对于各种类型字段判断字段是否存在的判断条件如下:
1.对于字符串类型字段,当字段没有出现、字段值为null的情况下,则该字段不存在;字段值为空则计算为字段存在;"" 的意思
2.对于数字类型字段,当字段没有出现、字段值为null的情况下,则该字段不存在;
3.对于布尔类型字段,当字段没有出现、字段值为null的情况下,则该字段不存在;
4.对于数组类型字段,只要字段没有出现、字段值为null、字段值为空数组、字段值数组的所有元素都为null,则该字段不存在;
5.对于对象字段,只要字段没有出现、字段值是空对象、字段值为null,则该字段不存在;
实战 : 查询tags字段为空或null , tag 是字符串
"bool": {
"should": [
{
"term": {
"tags": ""
}
},
{
"bool": {
"must_not": [
{
"exists": {
"field": "tags"
}
}
]
}