Elasticsearch访问文档中某个字段的大小

时间:2015-02-07 05:25:13

标签: elasticsearch

我知道使用字段_size,我们可以告诉Elasticsearch存储文档的大小。这是我为索引定义的映射:

'{
   "mappings":{
      "_default_":{
         "_size":{
            "enabled":true,
            "store":true
         }
      }
   }
}'

_size字段提供整个文档的大小,因为我只想要某个字段的大小。

例如,假设我们在映射中有两个字段。 messageurl。即。

curl -XPUT localhost:9200/indexname/tweet/00001 -d '{"message": "some message", "url" : "http://someurl.url"}'

是否可以仅获取上述映射中消息的长度(或存储大小)?

1 个答案:

答案 0 :(得分:3)

您可以使用script fields

执行此操作
{
    {
    "query" : {
        ...
    },
    "script_fields" : {
        "message_length" : {
            "script" : "doc['message'].value.size()"
        }
    }
}