减少Azure搜索API调用和数据库/服务器处理开销? [处于保留状态]

问题描述 投票:-1回答:1

我有一个asp.net core应用程序,它具有成千上万的数据。我已经使用以下流程实现了azure搜索功能

  1. 上传初始数据(用于将MS SQL数据库数据更新到Azure Server的控制台应用程序:
  2. i)使用存储过程,该存储过程通过基于某些预定义条件执行动态生成的动态查询来获取数据,以动态生成支持来自多个表的动态值

。 SP接受一个可为空的日期值作为参数,该参数在传递时将提供在指定日期之后创建或更新的所有数据。如果未指定date参数,则返回所有记录。

ii)执行过程,以使用Azure REST API调用检查针对天蓝色搜索索引中的特定记录要执行的操作。

  • 如果记录在天蓝色时不存在,并且在本地处于活动状态,则设置INSERT操作
  • 如果记录存在于天蓝色并且在本地具有激活状态,且导入日期早于记录更新日期,设置更新操作
  • 如果记录存在于天蓝色但在本地无效,设置删除动作
  • iii)以消息服务总线的形式传递给具有批量数据的Azure函数

(包含链接有所需操作的100条记录的包)的调用。
  1. 要及时同步数据:
  2. 基于对特定表记录执行的插入,更新或删除触发对Azure函数的调用。

  1. 点播同步按钮
  2. 除了上述两个过程之外,为了实现立即同步的目的,我们在管理面板中还有一个按钮,单击该按钮时会以上次导入日期为参数触发对控制台应用程序的异步调用。

注意:

  1. 未根据客户的约束在本地管理导入日期。
  2. 导入日期只不过是用于跟踪每个记录的最后导入日期的天蓝色搜索字段之外的另一列。可以在需要时使用Azure Rest API调用来访存。
  3. 在此流程中,初始数据上传/按需数据同步导致多次调用天蓝色搜索以及数据库和服务器繁忙的处理。

作为对此的解决方法,我还尝试使用azure本身提供的“导入数据向导”,但是它不适合我的复杂数据结构。除此之外,我还检查了Azure逻辑应用程序,Azure数据工厂和Azure的增量/完全导入概念。但是没有找到与此相关的东西。

如何减少此吞吐量,Azure Search调用和数据库/服务器处理开销?

我有一个asp.net核心应用程序,具有数千个数据。我已经使用以下流程实现了azure搜索功能:上传初始数据(用于更新MS SQL的控制台应用程序...

azure .net-core full-text-search azure-sql-database azure-functions
1个回答
0
投票

不,这是您应该做的。编写代码以提取复杂的数据并将其推送到Azure搜索。

© www.soinside.com 2019 - 2024. All rights reserved.