Ton*_*ony 2 search indexer azure azure-cognitive-search
每个索引批次限制为1到1000个文档。当我从本地计算机或azure VM调用它时,每1000个文档批处理有800ms到3000ms。如果我使用异步提交多个批次,则花费的时间大致相同。这意味着〜50M文档收集将花费15到20个小时。
有什么办法可以使它更快?
看起来您正在使用我们的Standard S1搜索服务,尽管有很多事情会影响数据的摄取速度。我希望以平均索引速度大约700 docs / s的速度读取单个分区搜索服务,因此我认为您的数字与我的预期相差不远,尽管请注意,这些纯粹是粗略的估计并且您可能会根据多种因素(例如字段数,构面数量等)看到不同的结果。
您看到的一些额外时间可能是由于将内容从本地计算机上载到Azure的延迟所致,如果直接从Azure上执行此操作可能会更快,但是这只是一次-上载可能不值得。
您可以通过增加分区数来稍微提高数据摄取的速度,S2 Search Service也会更快地摄取数据。尽管这两个都是要付出代价的。
顺便说一句,如果您有5000万个文档,请确保分配足够的分区,因为单个S1分区可以处理1500万个文档或25GB,因此您肯定需要此服务的额外分区。
另请注意,在上传内容时(尤其是选择并行并行上传时),请注意HTTP响应,因为如果搜索服务超出可用资源,则可能会获得HTTP 207(指示一个或多个)项无法应用)或503表示由于限制,整个批次都失败了。如果发生限制,您可能需要退后一步,以使服务赶上。
归档时间: |
|
查看次数: |
1195 次 |
最近记录: |