2017-08-12 11 views
0

検索インデックスを使用してAPIを実行しています。索引へのデータは、データベースからデータを取り出すAzure関数を使用して作成されます。データベースと検索サービスのレコード数が異なることがわかりました。検索サービスでキーのリストを取得してデータベースと比較し、欠落しているキーを確認する方法はありますか?Azure検索インデックス - アイテムのリストを探す

よろしく、

Azureの検索クエリAPIは、検索/フィルタのシナリオのために設計されているジョン

+0

質問が分かりませんが、検索条件として「*」を使用してすべてのアイテムを検索し、キーフィールドのみを検索結果として返すことはできませんか。 –

+0

しかし、それは一度に1000項目だけを与えるだろうし、ページの儀式をループする必要がありますか?私は約500kのアイテムをインデックスに持っています –

答えて

0

、それはすべての文書をトラバースするための効率的な方法を提供していません。

これは、キーを順番にスキャンすることでこれを合理的に行うことができます。インデックス内にフィールド(キーフィールドまたは別のフィールド)がフィルタリング可能でソート可能なフィールドがある場合、$ selectを使用して各文書のキー(一度に1000)をそのフィールドで順序付けします。最初の1000を取得した後、$ skip(100,000に制限します)を実行しないで、前の応答で見た最高値を使用して、フィールドに対してより大きいを使用するフィルターを使用します。これにより、合理的なパフォーマンスでセット全体をトラバースすることができますが、一度に1000回行うには時間がかかります。

関連する問題