当你有一个query,并且为这个query加入了terms count统计,是否有发现当size变化时,count也会发生变化?
原来这是一个es由来已久就已经存在的问题,产生这个bug具体原因不是很请清除,但是已经有两种解决方案供选择。
方案一、
设置更大的size,获取更加精确的facet结果(不过这将导致返回更多的不必要的facet结果)
方案二、
设置shard_count参数。
这种解决方案有两个注意点:
1、shard_count一定要设置的足够大,否则facet的结果依然是不精确的。(具体多大那就只能靠你自己去测试了)
2、size一定不能大于shard_count的值,否则依然可能出现问题。
e.g
{
"query": {
"term": {
"creatorOrgFullField": "xx大学"
}
},
"facets": {
"creatorOrgFullField": {
"terms": {
"field": "creatorOrgFullField",
"size": 10,
"shard_size": 6000
}
}
},
"from": 0,
"size": 0
}