2015-05-20 90 views
0

Azure Search索引应用于SQL Azure数据库似乎很容易。我承诺,您使用REST API查询搜索索引,然后需要维护/更新索引。现在,考虑运行IIS的Web服务器,其底层为SQL Server数据库。从IIS或SQL Server查询Azure搜索?

什么被认为是最佳实践;从Web服务器或从SQL Server查询和更新索引,例如从CLR存储过程内?这里有具体的设计考虑吗?

回答

1

我在Azure搜索团队工作,并会尽力提供帮助。 查询和更新索引是两种不同的用例。据推测,你想要查询索引以响应用户在Web应用程序中的输入。 (也有可能你有一个SQL存储过程,有一些复杂的逻辑需要全面的测试搜索,但这似乎不太可能)。

更新索引可以通过多种方式完成。如果您最多可以每隔5分钟更新索引,请使用Azure Search SQL索引器为您自动更新索引 - 有关如何执行此操作的详细信息,请参见http://azure.microsoft.com/en-us/documentation/articles/search-howto-connecting-azure-sql-database-to-azure-search-using-indexers-2015-02-28/。该文章描述了如何使用REST API创建索引器,但我们现在也支持.NET SDK中的索引器。

OTOH,如果您需要硬实时更新,您可以在生成数据的同时更新搜索索引以插入/更新SQL数据库。

让我知道你是否有任何后续问题!

HTH, 尤金

+0

感谢您有用的答案!事实上,网络上的用户输入将需要查询索引。还有其他方法可以访问数据库,所以我正在考虑将所有索引查询放入一个存储过程中,然后可以从网络和其他应用程序访问这些存储过程。这是一个现实/好用例,还是直接查询索引而不涉及数据库更好? – l33t

+1

我怀疑从Web应用程序直接查询索引会更容易和更好。将该代码放入sproc中意味着所有查询都必须进行2次跳跃:一次是从Web应用到sproc,另一次是从sproc到Azure Search。此外,这会增加数据库的负载,并可能会影响您使用数据库的其他工作负载。调试/更改搜索代码可能也会更复杂。 –