【问题标题】:How to automatically update data source and index for a view in Azure Search如何自动更新 Azure 搜索中视图的数据源和索引
【发布时间】:2017-11-21 00:15:55
【问题描述】:

如何更新从 Azure SQL 视图创建的现有数据源。 在处理数据库视图的天蓝色搜索时,我需要遵循哪些步骤。

一旦我的视图得到更新,我的数据源和索引应该更新。

【问题讨论】:

    标签: azure azure-cognitive-search azure-search-.net-sdk


    【解决方案1】:

    假设通过“更新视图”您的意思是向 SELECT 子句添加更多列:

    • 只要您没有更改视图名称或凭据,就不需要更新数据源。
    • 您需要将新添加的字段添加到索引定义中。这不会自动发生。将新字段添加到索引架构后,索引器将开始为新索引的行填充这些字段。要填充已编制索引的文档,请重置索引器(在门户中或使用重置索引器 API)。

    【讨论】:

    • 感谢您的快速回复,它的工作。 https://{SearchName}.search.windows.net/indexers/IndexerName/reset?api-version=2016-09-01) 成功 204(无内容)。但是任何想法需要多少时间才能获得 150 份文档(这是一个视图)。以及在重置索引器时实现更少时间的最佳方法。
    • 索引需要多长时间?这取决于您的索引器计划 - 索引不是实时的。但是,您可以在更新视图后按需运行索引器。请参阅运行索引器 API。
    • 令人惊讶的是 https://{SearchName}.search.windows.net/indexers/{IndexerName‌}/reset?api-version=2‌​016-09-01) 始终无法正常工作。在表中进行了一些更改之后(这些更改将反映在目标视图中),当我再次重置索引器时,文档计数没有得到更新。我错过了什么吗?
    • Reset 本身不会进行索引 - 它只是清除更改跟踪状态,以便下次索引器运行时(按计划或在您调用 Run API 时按需),它将从从头开始。
    • 嗨尤金,当我们强制索引器再次运行时,它只捕获添加和修改的行,而不是从视图中删除的行。我的假设是,当我使用 rest API 强制运行时,视图将再次重新运行并捕获所有添加、修改和删除的行。真的很混乱。
    猜你喜欢
    • 1970-01-01
    • 2019-01-23
    • 1970-01-01
    • 2018-04-30
    • 2017-04-05
    • 2021-04-02
    • 1970-01-01
    • 2019-03-31
    • 2012-07-11
    相关资源
    最近更新 更多