0

测试 IBM Watson 发现服务的 Java API

Discovery discovery = new Discovery("2017-09-01"); 

System.out.println("Creating a new document...");
String documentJson = "{\"field\":\"value\"}";
InputStream documentStream = new ByteArrayInputStream(documentJson.getBytes());

AddDocumentOptions.Builder createDocumentBuilder =
        new AddDocumentOptions.Builder(environmentId, collectionId);
createDocumentBuilder.file(documentStream).fileContentType( HttpMediaType.APPLICATION_JSON); 
DocumentAccepted createDocumentResponse = discovery.addDocument(createDocumentBuilder.build()).execute();

应该工作而不会抛出任何异常。

最后一条语句“discovery.addDocument”抛出异常;错误消息是“文件不为空时文件名不能为空”

4

1 回答 1

0

由于您使用的是 documentJson 参数,您确定 JSON 元数据具有文件名吗?如果没有定义一个带有变量名 fileName 的字符串。FYR将文档添加到发现

Discovery discovery = new Discovery("2017-11-07");
discovery.setEndPoint("https://gateway.watsonplatform.net/discovery/api/");
discovery.setUsernameAndPassword("{username}", "{password}");
String environmentId = "{environment_id}";
String collectionId = "{collection_id}";
String documentId = "{document_id}";
String fileName = "<fileName>";

仅供参考 - 您不能同时使用 documentStream 和 fileName 参数

于 2017-12-14T20:54:44.053 回答