2017-05-24 147 views
0

我在一個Java應用程序運行一個查詢到IBM沃森發現服務API:通過時間片沃森發現新聞聚合返回null

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

望着文檔,這個問題可能發生,因爲你缺少你時間片內的時區參數:

時間片:使用日期創建細分間隔一個專門直方圖。有效的日期間隔值是分鐘,小時,星期,星期,月份和年份。語法是timeslice(<field>,<interval>,<time_zone>)。要使用時間片,文檔中的時間字段必須是日期數據類型和ISO 8601格式。除非滿足這兩個要求,否則時間片參數無法正確工作...

有關時間片和其他聚合的更多信息,請參閱Query building reference

我也建議使用沃森發現API瀏覽器,使其更容易測試您的查詢,看看輸出:

Watson Discovery API Reference