ES查询文本字段为空字符串的数据,排查数据问题

在处理用户表时遇到用户名称数量小于总数的情况,经查询发现存在用户名为空字符串的数据。通过空字符串查询能匹配到这些异常数据,但清洗代码未找到其来源。已执行相关计数和查询语句进行分析。

在处理用户表的时候,发现用户名称少于用户总数,而且没有null值,
查询发现:用户表出现有用户名为空字符串的数据,即使用空字符串("")查询,能够匹配到数据;
排查清洗代码,并没有发现空字符串从何而来

查询计数语句

GET user_info_index/_doc/_count
{
  "query": {
    "bool": {
      "must": [
        {
          "term": {
            "user_name.keyword": {
              "value": ""
            }
          }
        }
      ]
    }
  }
}

查询计数结果

{
  "count": 63215,
  "_shards": {
    "total": 6,
    "successful": 6,
    "skipped": 0,
    "failed": 0
  }
}

查询名称语句

GET user_info_index/_doc/_search
{
  "size": 2, 
  "_source": ["user_name", "user_id"], 
  "query": {
    "bool": {
      "must": [
        {
          "term": {
            "user_name.keyword": {
              "value": ""
            }
          }
        }
      ]
    }
  }
}

查询名称结果

{
  "took": 23,
  "timed_out": false,
  "_shards": {
    "total": 6,
    "successful": 6,
    "skipped": 0,
    "failed": 0
  },
  "hits": {
    "total": 63215,
    "max_score": 5.054031,
    "hits": [
      {
        "_index": "user_info_index",
        "_type": "_doc",
        "_id": "07837b0b4bdd48369165432dde747f7a",
        "_score": 5.054031,
        "_source": {
          "user_name": "",
          "user_id": "07837b0b4bdd48369165432dde747f7a"
        }
      },
      {
        "_index": "user_info_index",
        "_type": "_doc",
        "_id": "6a76b5c1eac64152d324d81769ef65ea",
        "_score": 5.054031,
        "_source": {
          "user_name": "",
          "user_id": "6a76b5c1eac64152d324d81769ef65ea"
        }
      }
    ]
  }
}
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值