watson_developer_cloud
pythonライブラリーのDiscoveryV1
モジュールを使用して、700以上の文書をWDSコレクションに取り込みます。大量に摂取しようとするたびに、多くの文書が摂取されず、非決定的です。通常、約100件の文書が失敗します。Watsonディスカバリーサービスで文書が取り込まれない理由の詳細を調べる方法
discovery.add_document(env_id, cold_id, file_info=file_info)
と呼び出すたびに、応答にWDS document_id
が含まれています。私のコーパス内のすべての文書をこの呼び出しにかけた後、対応するdocument_id
を使用してdiscovery.get_document(env_id, col_id, doc_id)
と呼び出し、文書の状態を確認します。これらのコールのうち約100回がステータス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)
を私のコーパスのサイズが比較的大きく、〜3ギガバイトですので、私は中discovery.add_document(env_id, cold_id, file_info=file_info)
呼び出しからService is busy processing...
応答を受け取りますその場合はsleep(5)
と呼び出してもう一度お試しください。
私は運がないとWDSドキュメントを使い果たしました。これらのファイルが摂取されないという理由をより詳細に知るにはどうすればよいですか?