2017-05-08 5 views
0

In Watson Discovery-Dienst bin ich bereits aggregieren meine Dokumente, um die Top-Konzepte zu erhalten. Mit der folgenden Abfrage:Wie filtere ich die Ergebnisse einer Aggregation in IBM Watson Discovery-Dienst

Allerdings ist mein Ausgangsmaterial bereits auf einige zentrale Konzepte konzentriert. In diesem Fall Eishockey, also was ich tun möchte, ist dann in der Lage, diese Konzepte herauszufiltern. mit einer Abfrage, die in etwa so aussieht:

term(enriched_metadata_text.concepts.text,count:10).filter(enriched_metadata_text.concepts.text:!("National Hockey League"|"Ice hockey")) 

Dies funktioniert jedoch nicht. Ich kann es an der Arbeit, wenn ich zum ersten Mal filtern:

filter(enriched_metadata_text.concepts.text:!("National Hockey League"|"Ice hockey")).term(enriched_metadata_text.concepts.text,count:10) 

Das Problem mit dieser ist es jedoch, die Dokumente mit dem Begriff „Ice Hockey“ filtert und dann aggregiert die Ergebnisse. Ich möchte die Liste der Konzepte abrufen und dann DIESEN nach unten filtern, ohne irgendwelche Dokumente zu verlieren.

Vielen Dank im Voraus für Ihre Hilfe.

Antwort

0

Ich glaube, Sie sollten in der Lage sein, Ihre Aufgabe mit der nested Aggregation zu erfüllen, um Ihr Ziel zu erreichen.

nested Willen Umfang der Aggregation der Subdokumente (was die Konzepte sind)

Also mein Vorschlag wäre, die folgende Abfrage auszuführen:

nested(enriched_metadata_text.concepts).filter(enriched_metadata_text.concepts.text:!("National Hockey League"|"Ice hockey")).term(enriched_metadata_text.concepts.text,count:10) 

Bitte lassen Sie mich wissen, ob das funktioniert!

+0

Hallo Andrew. Diese genaue Abfrage hat nicht funktioniert, es mit der Discovery-Tooling es lässt nur den Spinner Runde und Runde. Ich werde jetzt die Discovery-Dokumente lesen, um mehr zu verstehen, was "verschachtelt" tut. – Gwilym

Verwandte Themen