gpt4 book ai didi

elasticsearch - 文档中的空白字段是否占用 Elasticsearch 中的空间?

转载 作者:行者123 更新时间:2023-11-29 02:55:15 24 4
gpt4 key购买 nike

文档中的空字段是否占用elasticsearch中的空间?例如,在下面的案例中,用于存储文档的空间总量在案例 A 和案例 B 中是否相同(假设在映射中定义了字段“colors”)。

Case A
{"features":
"price": 1,
"colors":[]
}

Case B
{"features":
"price": 1,
}

最佳答案

如果保留默认设置,原始文档将存储在_source 中。字段,因为案例A的原始文档比案例B大,所以会有差异。

否则,应该没有区别:对于情况 A,颜色字段的索引中没有添加任何术语,因为它是空的。

您可以使用 _size 字段查看索引的原始文档的大小,即 _source 字段的大小:

POST stack
{
"mappings":{
"features":{
"_size": {"enabled":true, "store":true},
"properties":{
"price":{
"type":"byte"
},
"colors":{
"type":"string"
}
}
}
}
}

PUT stack/features/1
{
"price": 1
}

PUT stack/features/2
{
"price": 1,
"colors": []
}

POST stack/features/_search
{
"fields": [
"_size"
]
}

最后一个查询将输出这个结果,这表明文档 2 比文档 1 占用更多空间:

{
"took": 1,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"failed": 0
},
"hits": {
"total": 2,
"max_score": 1,
"hits": [
{
"_index": "stack",
"_type": "features",
"_id": "1",
"_score": 1,
"fields": {
"_size": 16
}
},
{
"_index": "stack",
"_type": "features",
"_id": "2",
"_score": 1,
"fields": {
"_size": 32
}
}
]
}
}

关于elasticsearch - 文档中的空白字段是否占用 Elasticsearch 中的空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25968942/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com