Azure搜索索引器的运行速度有多快?我可以如何快速建立索引?

Ton*_*ony 2 search indexer azure azure-cognitive-search

每个索引批次限制为1到1000个文档。当我从本地计算机或azure VM调用它时,每1000个文档批处理有800ms到3000ms。如果我使用异步提交多个批次,则花费的时间大致相同。这意味着〜50M文档收集将花费15到20个小时。

有什么办法可以使它更快?

Lia*_*SFT 5

看起来您正在使用我们的Standard S1搜索服务,尽管有很多事情会影响数据的摄取速度。我希望以平均索引速度大约700 docs / s的速度读取单个分区搜索服务,因此我认为您的数字与我的预期相差不远,尽管请注意,这些纯粹是粗略的估计并且您可能会根据多种因素(例如字段数,构面数量等)看到不同的结果。

您看到的一些额外时间可能是由于将内容从本地计算机上载到Azure的延迟所致,如果直接从Azure上执行此操作可能会更快,但是这只是一次-上载可能不值得。

您可以通过增加分区数来稍微提高数据摄取的速度,S2 Search Service也会更快地摄取数据。尽管这两个都是要付出代价的。

顺便说一句,如果您有5000万个文档,请确保分配足够的分区,因为单个S1分区可以处理1500万个文档或25GB,因此您肯定需要此服务的额外分区。

另请注意,在上传内容时(尤其是选择并行并行上传时),请注意HTTP响应,因为如果搜索服务超出可用资源,则可能会获得HTTP 207(指示一个或多个)项无法应用)或503表示由于限制,整个批次都失败了。如果发生限制,您可能需要退后一步,以使服务赶上。