时间片的Watson Discovery新闻聚合返回null

时间:2017-05-24 14:02:32

标签: java ibm-cloud watson discovery

我在java应用程序中运行IBM Watson Discovery服务API的查询:

queryBuilder.filter("blekko.hostrank>20,blekko.chrondate>1492552800,blekko.chrondate<1493157600,blekko.documentType:!\"blog\",blekko.documentType:!\"review\",language:english");
queryBuilder.query("text:" + brand);
queryBuilder.aggregation("[timeslice(blekko.chrondate,1day), term(docSentiment.type)]");
QueryResponse queryResponse = discovery.query(queryBuilder.build()).execute();

我在聚合的响应中有以下输出:

"aggregations": [
    null,
    {
      "results": [
        {
          "key": "positive",
          "matching_results": 245
        },
        {
          "key": "negative",
          "matching_results": 219
        },
        {
          "key": "neutral",
          "matching_results": 11
        }
      ],
      "type": "term",
      "field": "docSentiment.type"
    }
  ]

时间片聚合返回null。有人有经验吗?谢谢。

1 个答案:

答案 0 :(得分:0)

查看文档,可能会出现此问题,因为您缺少时间片内的timezone参数:

  

timeslice:使用日期创建间隔段的专用直方图。有效日期间隔值为分钟,小时,日,周,月和年。语法为timeslice(<field>,<interval>,<time_zone>)。要使用时间片,文档中的时间字段必须是日期数据类型和ISO 8601格式。除非满足这两个要求,否则时间片参数无法正常工作......

有关时间片和其他聚合的更多信息,请参阅Query building reference

我还建议使用Watson Discovery API Explorer,以便更轻松地测试查询并查看输出:

Watson Discovery API Reference