2017-05-06 9 views
3

私たちのアプリは、複数のドキュメント(pdfs、word docsなど)を含む本を所有するユーザーが所有する書籍を管理します。ホームページには、次の10冊の書籍を読み込むためのページングボタンがあるユーザーのすべての書籍のリストが表示されます。ユーザーが書籍をクリックすると、新しい画面が開き、その書籍のすべての文書が一覧表示されます。Azure検索親と子のレコードを返す

これまでは、WCF /エンティティフレームワークを使用してホームページに表示されているすべての書籍を検索していましたが、開かれたときに1つの書籍のドキュメントを取得するための空白の検索(SQLビューに接続)ページングとソート。

ここでは、紺碧の検索でユーザーのすべての書籍のリストを取得したいので、ブックとドキュメントのデータを保持する新しいテーブルを作成しました。各行について。

AzureSearchTable

当社の紺碧の検索インデックスは、今、このテーブルを指すと私はページングと、おそらくもソートを持つユーザーのための本を取得する方法を見つけ出す必要があります。 問題は、私は本のための別個の選択が必要ですが、紺碧の検索は区別されず、本がどれくらいのドキュメントを持つかわからないので、Topパラメータを10に設定することはできません。最初の40行が例えば1冊の本のためのものであることを意味する30または40の文書を有する。

私は作品の種類の書籍IDにファセットを使用しようとしていて、各書籍のIDと数を教えてくれますが、ファセットのソート順を指定することはできません。私はクエリ(BookId)のために設定した順序に。ファセットを使用してすべての書籍を取得する方法もわかりません。ファセット上に数量プロパティを設定できますが、ユーザーが持つ書籍の数はわかりません。

私たちのアーキテクトは、すべての行(何千もある可能性があります)を取得し、C#コードでフィルタリングして10冊の本を得るべきだと言います。これは私にとってかなり非効率的だと思われ、正しく感じることはありません。

だから私は、これは正しいアプローチであるかどうかわからないんだけど...

  • 私は別々のテーブルを使用して書籍や文書データに別々紺碧の検索インデックスを(持っている必要がありますか?
  • 私が戻るんか
  • C#sdkを使用してファセットのソート順を指定することができますか?(残りのAPI経由で可能です)
  • ファセットを取得するにはどうすればよいですか?ユーザーのすべての書籍を返すのですか?
  • あなたの目的はDOCUMENTNAMEの検索に基づいて、本のリストを返すことができるのであれば、あなたはおそらくしたい、

    弾丸#1答:ここ

答えて

関連する問題