Azure 搜索中的事件

Events in Azure Search

有没有办法附加 webhook 或从 Azure 搜索获取事件? 具体来说,我们正在寻找在索引器完成索引索引时(以编程方式)获得通知的方法。

目前没有此类事件。但是,您可以自己实现这样的功能。有几种情况需要考虑。基本上,您有两种添加内容的主要方法。定义内容源并使用拉取或使用 API 将内容推送到索引。

最简单的情况是当您通过 API 使用推送来添加单个项目时。您可以创建一个包装方法,既提交您的项目,然后查询索引,直到找到该项目。您的包装器方法需要调用回调或触发事件。要支持项目的更新,您需要在项目上添加一个标记,例如时间戳 属性,指示项目提交到索引的时间。或者版本号之类的可以让你区分新旧项目的东西。

更复杂的情况是当您处理成批或大量的内容时。假设您从头开始并且您的语料库是 100.000 个项目,您可以在触发事件之前查询直到计数匹配 100.000 个项目。要处理更新,最好的方法是使用一些标记。例如。您在 2020-18-08 09:58 提交了一批 100 个更新。然后您可以查询索引,按在您提交内容的时间戳之后更新的项目进行过滤。一旦您的查询计数匹配 100,您就可以触发您的事件。

在这些情况下提交内容时,您还需要处理索引错误或异常。

对于pull-scenarios,您最好的选择是定义一项技能,为项目添加时间戳。然后,您可以使用查询轮询索引,在点索引开始后按带有时间戳的内容进行过滤,然后触发您的事件。