2017-05-24 3 views
0

ich eine Anfrage an IBM Watson Discovery-Service-API in einer Java-Anwendung ausführen:Watson Discovery News Aggregation von Zeitscheibe null zurück

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(); 

Ich habe die folgende Ausgabe in der Antwort für die Aggregation:

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

Die Zeitscheibenaggregationen gibt null zurück. Hat jemand Erfahrung dabei? Vielen Dank.

Antwort

1

bei der Dokumentation der Suche, dieses Problem auftreten kann, weil Sie die Zeitzone-Parameter innerhalb Ihrer Zeitscheibe fehlen:

Zeitscheibe: Ein spezialisiertes Histogramm, die Daten verwendet Intervall Segmente zu erstellen. Gültige Datumsintervallwerte sind Minute, Stunde, Tag, Woche, Monat und Jahr. Die Syntax lautet timeslice(<field>,<interval>,<time_zone>). Um Zeitfenster zu verwenden, müssen die Zeitfelder in Ihren Dokumenten vom Datentyp Datum und im ISO 8601-Format sein. Es sei denn, beide Anforderungen erfüllt sind, wird der Zeitschlitz-Parameter nicht korrekt funktionieren ...

Weitere Informationen zu Zeitscheibe und andere Aggregationen in der Query building reference finden.

Ich würde auch empfehlen, die Watson Discovery-API Explorer verwenden es einfacher zu machen Ihre Abfrage zu testen und die Ausgabe sehen:

Watson Discovery API Reference

Verwandte Themen