我正在评估一个项目的 Azure 搜索。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 - 集合(Edm.String)
问题
- 是否可以指定 QuestionList 中的每个项目都有分层数据?
- 是否可以仅在“问题”的“标题”内搜索?
- 我看到的唯一可能性是分别为“问题”创建索引并使用它
我在 MSDN 中看到的唯一相关点是下面的段落,我不太明白
分面导航中的级别
如前所述,没有直接支持在层次结构中嵌套分面。开箱即用,分面导航仅支持一级过滤器。但是,确实存在解决方法。您可以在 Collection(Edm.String) 中对分层构面结构进行编码,每个层次结构有一个入口点。实现此解决方法超出了本文的范围,但您可以通过示例阅读 OData 中的集合。