如果我在Elasticsearch中运行此查询,它将返回聚集在字段name
上的存储桶集。不返回type
字段为 1 的任何文档。
{:size=>0,
:aggs=>
{:agg=>
{:filter=>{:term=>{"type"=>1}},
:aggs=>{:agg=>{:terms=>{:field=>"name", :min_doc_count=>1}}}}}}
现在,如果我运行此完全相同的查询,请将 only min_doc_count
更改为 0 。然后,它忽略父过滤器聚合,并返回所有文档,无论类型如何。
{:size=>0,
:aggs=>
{:agg=>
{:filter=>{:term=>{"type"=>1}},
:aggs=>{:agg=>{:terms=>{:field=>"name", :min_doc_count=>0}}}}}}
我不了解这种行为。我的查询格式有误吗?我该如何解决?
我正在使用Elasticsearch 6.x,并通过Elasticsearch Rails gem使用它。