我想计算在我的索引中具有值的字段的比率。
我设法计算了多少文件错过了这个领域:
GET profiles/_search
{
"aggs": {
"profiles_wo_country": {
"missing": {
"field": "country"
}
}
},
"size": 0
}
我还设法计算了提交的文件数量:
GET profiles/_search
{
"query": {
"filtered": {
"query": {"match_all": {}},
"filter": {
"exists": {
"field": "country"
}
}
}
},
"size": 0
}
当然,我也可以获得索引中的文档总数。我该如何计算比率?
答案 0 :(得分:0)
从查询中获取所需数字的简便方法是使用以下查询
POST profiles/_search?filter_path=hits.total,aggregations.existing.doc_count
{
"size": 0,
"aggs": {
"existing": {
"filter": {
"exists": {
"field": "tag"
}
}
}
}
}
您会收到类似这样的回复:
{
"hits": {
"total": 37258601
},
"aggregations": {
"existing": {
"doc_count": 9287160
}
}
}
然后在您的客户端代码中,您只需执行
fill_rate = (aggregations.existing.doc_count / hits.total) * 100
你很高兴。