Elasticsearch 基础教程

Elasticsearch 高级教程

Elasticsearch 插件

Elasticsearch 笔记

Elasticsearch FAQ

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

es(Elasticsearch)painless 脚本获取文档(document)的字段值

Elasticsearch 脚本 Elasticsearch 脚本


Elasticsearch(es)大多数脚本都围绕指定文档字段数据来使用,可以 doc['field_name'] 形式来访问文档内指定字段数据。值得注意的是,只针对简单的值生效(数值类型字段或者不分词字段)。

获取普通字段的值

这里普通字段值只的是不分词的字段类型,如数值、keyword 类型、数组等。

假设有 status 和 type 两个字段,status 对应单个值为 1,type 字段对应数值,为 [6 , 8],取值有如下几种 case:

  1. doc['field_name'] 形式返回数组;

    # 返回数组 [1]
    doc['status']
    
    # 返回数组 [6, 8]
    doc['type']
  2. doc['field_name'].value 形式返回第一个元素;

    # 返回第一个元素 1
    doc['status'].value
    
    # 返回第一个元素 6
    doc['type'].value
  3. doc['field_name'].values 形式和 doc['field_name'] 形式一样返回数组;

    # 返回数组 [1]
    doc['status'].values
    
    # 返回数组 [6, 8]
    doc['type'].values

 

在使用 es 时,我们经常需要获取指定字段存在值的对应文档(document),es 提供了属于 term 类查询的 exists 查询来满 ...
关于 es(Elasticsearch)如何将通过 api 返回的信息以指定的列名和升降序方式返回,可以将要排序的列名赋给参数 s,若要降序 ...
使用 Elasticsearch(es)时,不返回所有的 json 数据结果,只返回指定字段值,即部分字段内容。 ...
es 开发中,如何获取数组字段长度大于某个阈值的文档,可以使用 script 查询。 ...
Elasticsearch索引的配置项主要分为静态配置属性和动态配置属性,静态配置属性是索引创建后不能修改,而动态配置属性则可以随时修改。r ...