nicht aufgenommen werden. Ich verwende das Modul DiscoveryV1
der Python-Bibliothek watson_developer_cloud
, um mehr als 700 Dokumente in eine WDS-Sammlung aufzunehmen. Jedes Mal, wenn ich eine Bulk-Ingestion versuche, werden viele der Dokumente nicht aufgenommen, es ist nicht deterministisch, in der Regel scheitern etwa 100 Dokumente.So erhalten Sie mehr Einblick, warum Dokumente in Watson Discovery Service
Jedes Mal, wenn ich discovery.add_document(env_id, cold_id, file_info=file_info)
rufe, finde ich, dass die Antwort ein WDS document_id
enthält. Nachdem ich diesen Aufruf für alle Dokumente in meinem Korpus getätigt habe, verwende ich die entsprechenden document_id
s, um discovery.get_document(env_id, col_id, doc_id)
aufzurufen und den Status des Dokuments zu überprüfen. Etwa 100 dieser Anrufe geben den Status Document failed to be ingested and indexed
zurück. Zwischen den Dateien, die fehlschlagen, gibt es kein Muster, sie variieren in der Größe und sowohl in den Dateiformaten sword (doc) als auch pdf.
Mein Code ein Dokument geschrieben wurde, auf der Grundlage der WDS Documentation aufnehmen, sieht es so etwas wie diese:
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)
Weil mein Korpus relativ groß ist, ~ 3 GB groß, Ich erhalte Service is busy processing...
Antworten von discovery.add_document(env_id, cold_id, file_info=file_info)
Anrufen in In diesem Fall rufe ich sleep(5)
an und versuche es erneut.
Ich habe die WDS-Dokumentation ohne Glück erschöpft. Wie kann ich mehr Einblick in den Grund bekommen, warum diese Dateien nicht aufgenommen werden?