我正在尝试设计将数据编入Azure Search的最佳方法。假设我的Azure SQL数据库包含两个表:
在我的Azure搜索索引中,我想要的不仅仅是产品(名称,类别,描述等),还包括此产品的订单数量(在评分配置文件中使用此功能,以增加搜索结果中的热门产品)
我认为最好的方法是创建一个视图(索引视图?),其中包含产品列和每个产品的订单数,但我不确定我的视图(索引视图?)可以拥有自己的rowversion列,每次计数更改时都会更改(订单可能会被撤销 - 删除 - 并放置 - 插入)。
也许有一些更容易解决我的问题?任何提示都表示赞赏。
此致 MJ
答案 0 :(得分:0)
是的,我相信您希望这样做是一种很好的方法。我见过人们做的其他一些事情也包括类型例如,你可以有一个Collection字段(这是一个字符串数组),也许叫做OrderTypes,你可以加载该产品的所有相关订单类型。这样,您可以使用Azure Search $ facets功能向您显示特定订单类型的总数。此外,您可以使用它来深入了解这些订单的细节。例如,您可以根据所选的订单类型进行过滤。当然,如果有太多类型的订单,也许这可能是不可行的。
无论如何,是的,我认为这会很好用,也不要忘记,如果你想定期更新这个数,你可以简单地传递那个值(而不是发送整个产品字段)来制作它效率更高。
答案 1 :(得分:0)
一个视图不能拥有它自己的" rowversion列 - 该列应来自产品或订单表。如果您将该列编入索引,则高水印更改跟踪策略将能够有效地捕获新行或更新(但未删除)的行。如果删除了产品,则应考虑使用http://azure.microsoft.com/en-us/documentation/articles/search-howto-connecting-azure-sql-database-to-azure-search-using-indexers-2015-02-28/
中所述的软删除方法HTH, 尤金