弹性搜索中的大小参数
Size parameter in elastic search
可能是初学者的问题,但我对尺寸有一些疑惑。
根据弹性搜索规范,大小的最大值可以为 10000,我想在下面验证我的理解:
示例查询:
GET testindex-2016.04.14/_search
{
"size": 10000,
"query": {
"bool": {
"must": [
{
"match": {
"type": "TEST"
}
}
]
}
},
"aggs": {
"testAggs": {
"terms": {
"field": "type",
"size": 0
},
"aggs": {
"innerAggs": {
"max": {
"field": "Value"
}
}
}
}
}
}
回复:
{
"took": 6,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"failed": 0
},
"hits": {
"total": 26949,
"max_score": 0,
"hits": [
.....10000 records
]
},
"aggregations": {
"test": {
"doc_count_error_upper_bound": 0,
"sum_other_doc_count": 0,
"buckets": [
{
"key": "TEST",
"doc_count": 26949,
"innerAggs": {
"value": 150
}
}
]
}
}
}
1 - 如果 size 设置为 10000,并且我们在 elasticsearch 中有超过 200000 条记录满足查询,那么在查询结果中,我将得到 no.点击数达到 10000,但 "total" : 200000.
2 - 有多少记录可用于进一步聚合 - 没有。点击率或 "total" 值。
3 - 如果我们设置 "size" : 0,在这种情况下,我们得到 hits = 0,但是有多少记录可用于聚合?
请澄清我的理解,有疑问的地方提出意见。谢谢
size
参数只告诉应该在响应中返回多少匹配,所以如果你指定大小:10000 和 200000 条记录匹配,你将在结果命中,但 total
将显示 200000
聚合始终根据完整结果集计算,因此 total
值。
见2
可能是初学者的问题,但我对尺寸有一些疑惑。 根据弹性搜索规范,大小的最大值可以为 10000,我想在下面验证我的理解:
示例查询:
GET testindex-2016.04.14/_search
{
"size": 10000,
"query": {
"bool": {
"must": [
{
"match": {
"type": "TEST"
}
}
]
}
},
"aggs": {
"testAggs": {
"terms": {
"field": "type",
"size": 0
},
"aggs": {
"innerAggs": {
"max": {
"field": "Value"
}
}
}
}
}
}
回复:
{
"took": 6,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"failed": 0
},
"hits": {
"total": 26949,
"max_score": 0,
"hits": [
.....10000 records
]
},
"aggregations": {
"test": {
"doc_count_error_upper_bound": 0,
"sum_other_doc_count": 0,
"buckets": [
{
"key": "TEST",
"doc_count": 26949,
"innerAggs": {
"value": 150
}
}
]
}
}
}
1 - 如果 size 设置为 10000,并且我们在 elasticsearch 中有超过 200000 条记录满足查询,那么在查询结果中,我将得到 no.点击数达到 10000,但 "total" : 200000.
2 - 有多少记录可用于进一步聚合 - 没有。点击率或 "total" 值。
3 - 如果我们设置 "size" : 0,在这种情况下,我们得到 hits = 0,但是有多少记录可用于聚合?
请澄清我的理解,有疑问的地方提出意见。谢谢
size
参数只告诉应该在响应中返回多少匹配,所以如果你指定大小:10000 和 200000 条记录匹配,你将在结果命中,但total
将显示 200000聚合始终根据完整结果集计算,因此
total
值。见2