Есть ли способ воспользоваться функцией "прохождения" запроса WDS через API Java?
API-интерфейсы Java службы Watson Discovery позволяют потребителю указывать:
- запрос
- агрегирование
- подсчитывать
- фильтр
- смещение
- returnFields
с помощью com.ibm.watson.developer_cloud.discovery.v1.model.query.QueryRequest.Builder
Похоже, что (начиная с версии 3.8.0) невозможно установить passages=true
хоть? Эта функция появится / запланирована?
2 ответа
Ответом здесь было то, что эта функция не поддерживалась до версии 4.0 клиента Java (выпущена в сентябре 2017 г.)
Функция доступна сейчас.
Вам нужно будет установить параметры запроса внутри звонка.
В документации, показывающей, что для этого нужно сделать. Вам нужно установить query_options внутри запроса query.Builder()
С помощью 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();
Обс.: В документации сказано: query_options Определяет параметры запроса. В Java и Node укажите это как запрос string
,
См. Таблицу параметров запроса для получения информации о содержимом строки или словаря. Смотрите официальную ссылку здесь.