如果你正在使用默认的analyzer(standard),它没有什么可以分析它是否是一个空字符串。所以你需要逐字索引。
使用脚本过滤器,但速度较慢,但可以处理空字符串:
curl -XPOST ‘http://localhost:9200/test/demo/_search’ -d ‘
{
“query”: {
“filtered”: {
“filter”: {
“script”: {
“script”: “_source._content.length() == 0”
}
}
}
}
}’
https://cloud.tencent.com/developer/ask/44666
查询出没有该字段的文档
GET index名称/_count
{
“query”: {
“bool”: {
“must_not”: [
{
“exists”: {
“field”: “字段名称”
}
}
]
}
}
}
字段值为空字符串
GET index名称/_count
{
“query”: {
“bool”: {
“must_not”: [
{
“wildcard”: {
“字段名称”: {
“value”: “*”
}
}
}
]
}
}
}
https://blog.csdn.net/m_arry1/article/details/108792435
https://blog.csdn.net/qq_16590169/article/details/95519666
https://blog.csdn.net/jianshaoguang8886/article/details/88864004
https://blog.csdn.net/qq_16590169/article/details/95519666
后跟其对应项:
{
“query”: {
“filtered”:{
“filter”: {
“bool”: {
“must_not”: [
{
“missing”:{
“field”:”_textContent”
}
}
]
}
}
}
}
}
我也尝试过以下方法:
{
“query”: {
“filtered”:{
“filter”: {
“bool”: {
“must_not”: [
{
“missing”:{
“field”:”_textContent”,
“existence”:true,
“null_value”:true
}
}
]
}
}
}
}
}
https://qa.1r1g.com/sf/ask/1789338701/
https://blog.csdn.net/tiansheng1225/article/details/82499085