2017-04-20 74 views
0

假设我在Azure搜索集合中具有以下模式,并且有100个记录。Azure搜索。如何获得分页时的结果计数

{ 
"id": '1', 
"Status" : "Available", 
"name" : "demo 1" 
}, 
{ 
"id": '2', 
"Status" : "Available", 
"name" : "demo 1" 
}, 
{ 
"id": '3', 
"Status" : "Removed", 
"name" : "demo 1" 
}, 
{ 
"id": '4', 
"Status" : "Booked", 
"name" : "demo 4" 
} 

在我的状态领域我可以有三个不同的值, “黄牌警告”,“可用”,“删除”。

现在我通过分页使用Azure搜索中的Skip和Top获取数据。

但是像ElasticSearch聚合功能,有天青寻找一种方式来获得总没有为状态的网站的预订,可还是不删除等。 因为我不能做在客户端计数,因为,我将有有限的记录数量,并非来自Azure Search的所有记录。

+0

如果我理解正确,您希望在单个查询结果中看到聚合和记录。正确?或者将发布2个单独的查询(一个用于分页数据和其他聚合)一个选项? –

回答

1

当您创建索引时,请使status字段facetablefilterable。然后发出关于状态的方面查询,其中$filter=status ne 'Booked'。这将为您提供每个状态类别中除预订以外的文档的总数,而不考虑分页。

+0

谢谢我最终做了可观的事情 – TBA