Regex and size for TermsFacet search

Take the below query for example, the returned facet terms still
contain characters which are not in regex [0-9], but if I set the
facet size from 6000 to below 5000 the returned results will be as
expected. I do not know what's the difference of the size parameter or
it is a bug?

curl -XPOST "http://localhost:9200/pimcontact/_search?
pretty=true&pretty=true" -d '{
"from" : 0,
"size" : 0,
"query" : {
"match_all" : {
}
},
"filter" : {
"bool" : {
"must" : {
"term" : {
"account" : 118875
}
},
"must" : {
"term" : {
"deleted" : 0
}
}
}
},
"explain" : false,
"fields" : [ ],
"facets" : {
"prefix" : {
"terms" : {
"field" : "prefix",
"size" : 6000,
"regex" : "[0-9]",
"order" : "count"
},
"facet_filter" : {
"bool" : {
"must" : {
"term" : {
"account" : 118875
}
},
"must" : {
"term" : {
"deleted" : 0
}
}
}
}
}
}
}'