获取不超过特定数量的子代的Elastic文档

时间:2019-05-15 08:19:02

标签: c# elasticsearch parent-child nest

此NEST查询选择没有子项的文档:

.Bool(b => b
    .MustNot(q => q
        .HasChild<SolutionElasticModel>(c => c
            .Query(cq => cq
                .MatchAll()))));

NEST请求选择的子文件少于某个数目(包括完全没有子文件)的文档是什么?

1 个答案:

答案 0 :(得分:0)

我会在文档本身中为子项索引建立索引:

public class Document
{
    public int Id {get;set;}
    public int NestedDocsCount => NestedDocs?.Count;
    public List<NestedDoc> NestedDocs {get;set;}
}

,然后使用常规的range query(在filter context中):

{
    "range": {
        "nestedDocsCount": {
            "gte": 10,
            "lte": 20
        }
    }
}