プロジェクトの Azure Search を評価しています。MSDN の記事には、フラット化されたスキーマ構造しかありません。以下は、私が見ているシナリオの例です。
以下は、「質問」クラスのリストを参照する「プロジェクト」クラスです。「質問」には独自のフィールドのセットがあります
public class Project
{
public Guid Id
{
get;
set;
}
public string Owner
{
get;
set;
}
public string Title
{
get;
set;
}
public List<Question> QuestionList
{
get;
set;
}
public bool Disable
{
get;
set;
}
}
public class Question
{
public Guid Id { get; set; }
public string Title { get; set; }
public string Description { get; set; }
}
以下は、プロジェクトのインデックス スキーマです。
- Id - Edm.String
- 所有者 - Edm.String
- タイトル - Edm.String
- QuestionList - Collection(Edm.String)
質問
- QuestionList の各項目に階層データを指定することはできますか?
- 「質問」の「タイトル」内だけを検索することはできますか?
- 私が見る唯一の可能性は、「質問」のインデックスを個別に作成して使用することです
関連する MSDN で見られる唯一のポイントは以下の段落であり、あまり意味がありません
ファセット ナビゲーションのレベル
前述のように、階層内でのファセットのネストは直接サポートされていません。初期設定では、ファセット ナビゲーションは 1 レベルのフィルターのみをサポートします。ただし、回避策は存在します。階層ごとに 1 つのエントリ ポイントを持つ Collection(Edm.String) の階層ファセット構造をエンコードできます。この回避策の実装はこの記事の範囲を超えていますが、OData by Example でコレクションについて読むことができます。