如何更深入地了解 Watson Discovery Service 无法摄取文档的原因
How to get more insight into why documents fail to be ingested in Watson Discovery Service
我正在使用 watson_developer_cloud
python 库的 DiscoveryV1
模块将 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 个调用将 return 状态 Document failed to be ingested and indexed
。失败的文件之间没有模式,它们的大小不等,并且属于 msword (doc) 和 pdf 文件类型。
我提取文档的代码是基于 WDS Documentation 编写的,它看起来像这样:
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,我收到了来自 discovery.add_document(env_id, cold_id, file_info=file_info)
次调用的 Service is busy processing...
响应,在这种情况下,我调用 sleep(5)
并重试。
我已经用尽了 WDS 文档,但没有任何运气。我怎样才能更深入地了解这些文件未能被摄取的原因?
您应该能够使用 https://watson-api-explorer.mybluemix.net/apis/discovery-v1#!/Queries/queryNotices API 查看摄取期间发生的 errors/warnings 以及可能提供有关摄取失败原因的更多信息的详细信息。
不幸的是,在发布这篇文章时,python SDK 似乎没有包装此 API 的方法,因此您可以使用 Watson Discovery Tooling 或使用curl 直接查询 API(将 {} 中的值替换为您的集合特定值)
curl -u "{username}:{password}" "https://gateway.watsonplatform.net/discovery/api/v1/environments/{environment_id}/collections/{collection_id}/notices?version=2017-01-01
python-sdk
现在支持查询公告
from watson_developer_cloud import DiscoveryV1
discovery = DiscoveryV1(
version='2017-10-16',
## url is optional, and defaults to the URL below. Use the correct URL for your region.
url='https://gateway.watsonplatform.net/discovery/api',
iam_api_key='your_api_key')
discovery.federated_query_notices('env_id', ['collection_id']])
我正在使用 watson_developer_cloud
python 库的 DiscoveryV1
模块将 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 个调用将 return 状态 Document failed to be ingested and indexed
。失败的文件之间没有模式,它们的大小不等,并且属于 msword (doc) 和 pdf 文件类型。
我提取文档的代码是基于 WDS Documentation 编写的,它看起来像这样:
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,我收到了来自 discovery.add_document(env_id, cold_id, file_info=file_info)
次调用的 Service is busy processing...
响应,在这种情况下,我调用 sleep(5)
并重试。
我已经用尽了 WDS 文档,但没有任何运气。我怎样才能更深入地了解这些文件未能被摄取的原因?
您应该能够使用 https://watson-api-explorer.mybluemix.net/apis/discovery-v1#!/Queries/queryNotices API 查看摄取期间发生的 errors/warnings 以及可能提供有关摄取失败原因的更多信息的详细信息。
不幸的是,在发布这篇文章时,python SDK 似乎没有包装此 API 的方法,因此您可以使用 Watson Discovery Tooling 或使用curl 直接查询 API(将 {} 中的值替换为您的集合特定值)
curl -u "{username}:{password}" "https://gateway.watsonplatform.net/discovery/api/v1/environments/{environment_id}/collections/{collection_id}/notices?version=2017-01-01
python-sdk
现在支持查询公告
from watson_developer_cloud import DiscoveryV1
discovery = DiscoveryV1(
version='2017-10-16',
## url is optional, and defaults to the URL below. Use the correct URL for your region.
url='https://gateway.watsonplatform.net/discovery/api',
iam_api_key='your_api_key')
discovery.federated_query_notices('env_id', ['collection_id']])