0

我正在尝试设计将我的数据索引到 Azure 搜索的最佳方法。假设我的 Azure SQL 数据库包含两个表:

  • 产品
  • 订单

在我的 Azure 搜索索引中,我不仅想要产品(名称、类别、描述等),还想要该产品的订单计数(在评分配置文件中使用它,以提升搜索结果中的热门产品)。

我认为最好的方法是创建一个视图(索引视图?),其中将包含来自产品的列和每个产品的订单计数,但我不确定我的视图(索引视图?)是否可以拥有它自己的 rowversion 列,每次计数更改时都会更改(订单可能会被撤回 - 删除 - 并放置 - 插入)。

也许我的问题有一些更简单的解决方案?任何提示表示赞赏。

问候, MJ

4

2 回答 2

0

是的,我相信您希望这样做的方式是一个好方法。我看到人们做的其他一些事情是还包括类型 例如,您可以有一个 Collection 字段(它是一个字符串数组),可能称为 OrderTypes,您将加载该产品的所有相关订单类型。这样,您可以使用 Azure 搜索 $facets 功能向您显示特定订单类型的总数。此外,您可以使用它来深入了解这些订单的细节。例如,您可以根据他们选择的所选订单类型进行过滤。当然,如果订单类型太多,那可能不可行。

无论如何,是的,我认为这会很好,而且不要忘记,如果您想定期更新此计数,您可以简单地传递该值(而不是发送整个产品字段)以提高效率。

于 2015-03-13T20:20:02.597 回答
-1

A view cannot have its "own" rowversion column - that column should come from either products or orders table. If you make that column indexed, a high water mark change tracking policy will be able to capture new or updated (but not deleted) rows efficiently. If products are deleted, you should look into using a soft-delete approach as described in http://azure.microsoft.com/en-us/documentation/articles/search-howto-connecting-azure-sql-database-to-azure-search-using-indexers-2015-02-28/

HTH, Eugene

于 2015-03-13T22:22:34.420 回答