2017-07-11 21 views
0

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ドキュメントを使い果たしました。これらのファイルが摂取されないという理由をより詳細に知るにはどうすればよいですか?

答えて

1

https://watson-api-explorer.mybluemix.net/apis/discovery-v1#!/Queries/queryNotices APIを使用すると、処理中に発生したエラー/警告と、処理が失敗した理由に関する詳細情報が表示されることがあります。

残念ながら、この投稿時点では、まだ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 
関連する問題