如何查看IBM Discovery Service查询返回的实际文档及相关上传URL问题
IBM Watson Discovery 相关问题解答
针对你在Bluemix上使用Watson Discovery Service遇到的问题,我整理了具体的解决方案:
1. 是否可以查看查询结果中返回的文档?
完全可以!有两种常用方式:
- 通过控制台UI操作:在Discovery管理界面执行查询后,结果列表中的每个文档条目都可以点击,点击后会展开显示该文档的完整内容(包括文本、结构化数据等)。
- 通过API调用:调用查询接口(
/v1/environments/{environment_id}/collections/{collection_id}/query)时,返回的每个匹配文档都会包含唯一的document_id字段。你可以使用这个ID调用文档详情接口(/v1/environments/{environment_id}/collections/{collection_id}/documents/{document_id}),获取该文档的完整内容和信息。
2. 上传文档时如何添加URL?
如果需要给上传的文档关联外部URL(比如指向你自有服务器上的文件),可以通过**自定义元数据(metadata)**实现:
- 控制台上传:在上传文档时,找到「添加元数据」的选项,创建一个自定义字段(例如
external_url),并填入对应的URL值即可。 - API上传:在上传请求中加入
metadata参数,将URL作为自定义字段传入。举个curl示例:
后续查询时,该文档的结果中会包含你设置的curl -X POST -u "apikey:{你的API密钥}" \ "https://{你的区域}.watson.cloud.ibm.com/v1/environments/{环境ID}/collections/{集合ID}/documents?version=2023-12-01" \ -F "file=@本地文档路径.pdf" \ -F "metadata={\"external_url\": \"https://你的服务器地址/files/文档文件名.pdf\"}"external_url字段,直接就能获取对应的链接。
3. 是否需要获取文件名并动态生成服务器文件夹内文档的链接?
这取决于你的文档存储方式:
- 如果文档存储在你自己的服务器文件夹中:是的,你可以在上传到Discovery时,先获取本地文件名,拼接成服务器上的访问URL(例如
https://你的服务器地址/docs/${文件名}),再将这个URL作为元数据字段上传即可。 - 如果文档直接上传到Discovery的内置存储中:Discovery本身不会生成外部访问URL,但你可以通过前面提到的文档详情接口获取内容,或者搭建一个简单的服务,根据文档ID从Discovery拉取内容后提供自定义访问链接。
内容的提问来源于stack exchange,提问作者Gary Vaughan Jr
相关产品推荐
相关产品推荐

