我知道使用字段_size
,我们可以告诉Elasticsearch存储文档的大小。这是我为索引定义的映射:
'{
"mappings":{
"_default_":{
"_size":{
"enabled":true,
"store":true
}
}
}
}'
_size
字段提供整个文档的大小,因为我只想要某个字段的大小。
例如,假设我们在映射中有两个字段。 message
和url
。即。
curl -XPUT localhost:9200/indexname/tweet/00001 -d '{"message": "some message", "url" : "http://someurl.url"}'
是否可以仅获取上述映射中消息的长度(或存储大小)?
答案 0 :(得分:3)
您可以使用script fields
执行此操作{
{
"query" : {
...
},
"script_fields" : {
"message_length" : {
"script" : "doc['message'].value.size()"
}
}
}