我想要搜索在某个字段中具有特定值的文档,需要使用_search
命令。
{
"query": {
"bool": {
"must": [
{"field": {"advs.status": "warn"}}
]
}
}
}
这很好用。但是当我试图查找在该字段中具有空字符串的文档时,我会收到以下错误:
ParseException[Cannot parse '' ...
然后是一个长长的列表,列出了期望得到的字符串,而不是空字符串。
我尝试运行这个查询:
{
"query": {
"bool": {
"must": [
{"term": {"advs.status": ""}}
]
}
}
}
它不会失败,但也找不到任何东西。相反,它只适用于非空字符串。我该怎么做?
对于此类型,我的映射看起来就像这样:
{
"reports": {
"dynamic": "false",
"_ttl": {
"enabled": true,
"default": 7776000000
},
"properties": {
"@fields": {
"dynamic": "true",
"properties": {
"upstream_status": {
"type": "string"
}
}
},
"advs": {
"properties": {
"status": {
"type": "string",
"store": "yes"
}
}
},
"advs.status": {
"type": "string",
"store": "yes"
}
}
}
}