相关文章推荐
痴情的板凳  ·  Could not use bash ...·  10 月前    · 
坐怀不乱的生菜  ·  Map.prototype.set() - ...·  10 月前    · 
正直的皮蛋  ·  Power ...·  1 年前    · 
1.查询为空的字段
我们查询某个字段为空的数据时,在mysql中:
select eid,ent_name from ent_search where enttype_code is NULL;
在elasticsearch中,我们使用的api为exists,这个查询是:查询这个字段为空的或者没有这个字段的:
GET ent_search/_search
"_source": ["eid","ent_name"],
"query": {
"bool": {
"must_not": {
"exists": {
"field": "enttype_code"
2.查询某个不为空的字段
我们查询某个字段不为空的数据时,在mysql中:
select eid,ent_name from ent_search where enttype_code is NOT NULL;
在elasticsearch中,我们使用的api为exists,这个查询是:
GET ent_search/_search
"_source": ["eid","ent_name","enttype_code"],
"query": {
"constant_score": {
"filter": {
"exists": {
"field": "enttype_code"
### 查询例子
sql_example:
select msg,level  from jsonlog3-2019.06.26 where msg is NULL;
es_explain:
GET /jsonlog3-2019.06.26/_search
  "_source": ["msg","level"],
  "query": {
  "bool": {
  "must": [
    {"bool": {"must_not": [
    {"exists": {"field": "msg"}}
sql_example:
select msg,level  from jsonlog3-2019.06.26 where msg is not NULL;
es_explain:
GET /jsonlog3-2019.06.26/_search
  "_source": ["msg","level"],
  "query": {
  "bool": {
  "must": [
    {"bool": {"must": [
    {"exists": {"field": "msg"}}
GET /qdtech-jsonlog3-2019.06.26/_search
  "_source": ["msg","level"],
  "query": {
    "constant_score": {
      "filter": {
        "exists": {
          "field": "msg"
注:es中字段不存在 和 字段为null 是同一个概念;