Elasticsearch 基础教程

Elasticsearch 高级教程

Elasticsearch 插件

Elasticsearch 笔记

Elasticsearch FAQ

original icon
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.knowledgedict.com/tutorial/elasticsearch-query-for-not-null-field.html

es(elasticsearch)如何获取字段值存在的文档

Elasticsearch 笔记 Elasticsearch 笔记


在使用 es 时,我们经常需要获取指定字段存在值的对应文档(document),es 提供了属于 term 类查询的 exists 查询来满足该需求。

字段值存在的定义

首先,我们要明确哪些情况认为是字段值不存在的,具体如下:

  • { "tag" : null } 虽然有 tag 字段,但是值为空。
  • { "tag" : [] } 虽然有 tag 字段,但是值为空数组。
  • { "tag" : [null] } 虽然有 tag 字段,但是数组值为空。
  • { "content" : "knowledgedict" } 没有 tag 字段。

字段值为空字符串的认为是字段值存在的。

解决方法

GET article/_search
{
  "query": {
    "exists": {
      "field": "tag"
    }
  }
}

 

Elasticsearch(es)大多数脚本都围绕指定文档字段数据来使用,可以 doc['field_name'] 形式来访问文档内指定字段 ...
es 开发中,如何获取数组字段长度大于某个阈值的文档,可以使用 script 查询。 ...
使用 Elasticsearch(es)时,不返回所有的 json 数据结果,只返回指定字段值,即部分字段内容。 ...
关于 es(Elasticsearch)如何将通过 api 返回的信息以指定的列名和升降序方式返回,可以将要排序的列名赋给参数 s,若要降序 ...
在Elasticsearch中,要获取一个索引的所有文档,可以使用Elasticsearch提供的RESTAPI或者相应的客户端库来实现。使 ...