elasticsearch 加载父级和子级,elasticsearch,nest,elasticsearch,Nest" /> elasticsearch 加载父级和子级,elasticsearch,nest,elasticsearch,Nest" />

elasticsearch 加载父级和子级

elasticsearch 加载父级和子级,elasticsearch,nest,elasticsearch,Nest,您好: 我正在尝试一次性加载父项和子项。我的查询如下: ISearchResponse<Models.Facilities.Facility> response = await this._elasticClient.SearchAsync<Models.Facilities.Facility>(s => s.Query(q => (q.GeoDistance(g => g.Boost(1.1)

您好:

我正在尝试一次性加载父项和子项。我的查询如下:

  ISearchResponse<Models.Facilities.Facility> response = await this._elasticClient.SearchAsync<Models.Facilities.Facility>(s =>
            s.Query(q => (q.GeoDistance(g => g.Boost(1.1)
                                     .Field(f => f.BusinessLocation)
                                     .DistanceType(GeoDistanceType.Arc)
                                     .Distance(search.location.distance.ToString() + "m")
                                     .Location((double)search.location.latitude, (double)search.location.longitude)
                       )
                       &&
                       q.HasChild<Models.Facilities.FacilityType>(c => c.Query(qq => qq.MatchAll()).Name("FacilityType")))
                       || 
                       q.GeoDistance(g => g.Boost(1.1)
                            .Field(f => f.ServiceAreas)
                            .DistanceType(GeoDistanceType.Arc)
                             .Distance(search.location.distance.ToString() + "m")
                            .Location((double)search.location.latitude, (double)search.location.longitude))

             )


            .Aggregations(a =>
                         a.Children<Models.Facilities.FacilityType>("Capacity", child => child.Aggregations(ca => ca.Histogram("Capacity",
                             h => h.Field(p => p.Capacity)
                                   .Interval(10)
                                   .Missing(0))))
                         .Histogram("Distance", d => d.Field(f => f.BusinessLocation)
                                                       .Interval(10)
                                                       .Order(HistogramOrder.CountDescending)))
              .Sort(g => g.GeoDistance(g => g.Field(f => f.BusinessLocation)
              .DistanceType(GeoDistanceType.Arc)
              .Order(SortOrder.Descending)
              .Unit(DistanceUnit.Miles)).GeoDistance(g => g.Field(f => f.ServiceAreas)
                .DistanceType(GeoDistanceType.Arc)
                .Order(SortOrder.Descending))));
ISearchResponse=等待此消息。\u elasticClient.SearchAsync(s=>
s、 查询(q=>(q.GeoDistance)(g=>g.Boost(1.1)
.字段(f=>f.BusinessLocation)
.DistanceType(GeoDistanceType.Arc)
.Distance(search.location.Distance.ToString()+“m”)
.Location((双精度)search.Location.latitude,(双精度)search.Location.longitude)
)
&&
q、 HasChild(c=>c.Query(qq=>qq.MatchAll()).Name(“FacilityType”))
|| 
q、 大地距离(g=>g.Boost(1.1)
.字段(f=>f.ServiceAreas)
.DistanceType(GeoDistanceType.Arc)
.Distance(search.location.Distance.ToString()+“m”)
.Location((双精度)search.Location.latitude,(双精度)search.Location.longitude))
)
.聚合(a=>
a、 子项(“容量”,子项=>child.Aggregations(ca=>ca.Histogram(“容量”),
h=>h.字段(p=>p.容量)
.间隔(10)
。缺失(0)))
.直方图(“距离”,d=>d.字段(f=>f.BusinessLocation)
.间隔(10)
.Order(historogramorder.CountDescending)))
.Sort(g=>g.GeoDistance(g=>g.Field(f=>f.BusinessLocation)
.DistanceType(GeoDistanceType.Arc)
.顺序(排序器降序)
.Unit(distance Unit.Miles)).GeoDistance(g=>g.Field(f=>f.ServiceAreas)
.DistanceType(GeoDistanceType.Arc)
.顺序(排序降序));

Facility和FacilityType扩展自父文档。我正在尝试加载父级
Facility
及其子级
FacilityType
。基本上,如果我可以实现像这样的对象
facilityObj.facilityTypes
。请告诉我这是否可行。