我正在使用 python 库的DiscoveryV1
模块将watson_developer_cloud
700 多个文档摄取到 WDS 集合中。每次我尝试批量摄取时,许多文档都无法被摄取,这是不确定的,通常大约有 100 个文档失败。
每次我打电话时discovery.add_document(env_id, cold_id, file_info=file_info)
,我都会发现响应包含一个 WDS document_id
。在对我的语料库中的所有文档进行此调用后,我使用相应document_id
的 s 来调用discovery.get_document(env_id, col_id, doc_id)
并检查文档的状态。其中大约 100 个调用将返回 status Document failed to be ingested and indexed
。失败的文件之间没有模式,它们的大小以及 msword (doc) 和 pdf 文件类型的范围。
我提取文档的代码是基于WDS 文档编写的,它看起来像这样:
with open(f_path) as file_data:
if f_path.endswith('.doc') or f_path.endswith('.docx'):
re = discovery.add_document(env_id, col_id, file_info=file_data, mime_type='application/msword')
else:
re = discovery.add_document(env_id, col_id, file_info=file_data)
因为我的语料库比较大,大约 3gb,所以我会收到Service is busy processing...
来自discovery.add_document(env_id, cold_id, file_info=file_info)
调用的响应,在这种情况下我会调用并重sleep(5)
试。
我已经用尽了 WDS 文档,但没有任何运气。我如何才能更深入地了解这些文件未能被摄取的原因?