2017-04-20 9 views
0

Azure Search Collectionに100sのレコードを持つ次のスキーマがあるとします。 「予約された」Azure Search。ページ番号をつけたときの結果カウントの取得方法

私は3つの異なる値を持つことができます私のステータス]フィールドで
{ 
"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 SearchからSkip and Topを使用してページ分割してデータを取得しています。

しかし、ElasticSearch集計機能のように、ステータスが予約済み、利用可能、または削除されていないサイトをAzure検索で取得する方法はありますか。 クライアント側でカウントを行うことはできません。レコードの数を制限し、Azure Searchのすべてのレコードを制限することはありません。

+0

私が正しく理解していれば、単一のクエリ結果に集計とレコードが表示されます。正しい?あるいは、別々の2つのクエリを発行します(1つはページネーションデータ用、もう1つはアグリゲート用)。 –

答えて

1

インデックスを作成するときは、statusフィールドをfacetablefilterableにします。その後、ステータスについてファセットクエリを発行します($filter=status ne 'Booked')。これにより、ページ区切りに関係なく、[予約]以外の各ステータスカテゴリの文書の合計数が表示されます。

+0

おかげで私はファセットテーブル – TBA

関連する問題