有什么方法可以通过 Java API 使用 WDS 查询 "passage" 功能吗?

Is there any way to avail of the WDS query "passage" feature via the Java APIs?

Watson Discovery 服务 Java API 允许消费者指定:

通过com.ibm.watson.developer_cloud.discovery.v1.model.query.QueryRequest.Builder

似乎(从 3.8.0 版开始)无法设置 passages=true?这是功能 coming/planned 吗?

您需要在调用中设置查询选项。

在显示您需要为此做什么的文档中。您需要在调用 query.Builder()

中设置 query_options

使用 cURL,您将设置:

curl -u "{username}":"{password}}" "https://gateway.watsonplatform.net/discovery/api/v1/environments/{environment_id}/collections/{collection_id}/query?version=2016-12-01&natural_language_query='collie'&passages=true"

对于 Java,您需要设置如下内容:

Discovery discovery = new Discovery("2016-12-01");
discovery.setEndPoint("https://gateway.watsonplatform.net/discovery/api/v1");
discovery.setUsernameAndPassword("{username}", "{password}");
String environmentId = "{environment_id}";
String collectionId = "{collection_id}";
String queryOptions = { "passages": true };

QueryRequest.Builder queryBuilder = new QueryRequest.Builder(environmentId, collectionId, queryOptions);
queryBuilder.query("{field}:{value}");
QueryResponse queryResponse = discovery.query(queryBuilder.build()).execute();

Obs.:在文档中说:query_options 指定查询的参数。 在 Java 和 Node 中,将其指定为查询 string

有关字符串或字典内容的信息,请参阅查询选项 table。 参考官方参考here.

这里的答案是 Java 客户端(2017 年 9 月发布)v4.0 之前不支持该功能

功能现已可用。