2016-12-09 2 views
0

Benötigen Sie Hilfe beim Transformieren dieser Abfrage von der Verwendung von facet_filter zur Verwendung von aggs in ES 2.0, da Facetten in ES 2.0 und höher nicht mehr unterstützt werden.Elastische Suchfacette zur Aggregation

{ 
    "facets": { 
    "format": { 
     "terms": { 
     "field": "documentary_tag_id", 
     "size": 10, 
     "exclude": ["2"] 
     }, 
     "facet_filter": { 
     "term": { 
      "documentary_tag_id": ["2"] 
     } 
     } 
    } 
    }, 
    "sort": [ 
    "_score", 
    { 
     "documentary_tag_name": { 
     "order": "desc" 
     } 
    } 
    ] 
} 
+0

Ich bin etwas verwirrt durch facet filter um 2 zu filtern und als in facet haben Sie ausschließen 2 warum es so? –

+0

soll alle Dokumentationen mit tag_id 2 finden und 2 von den Ergebnissen ausschließen. – user1817347

+0

Ja, ich sehe seine zwei verschiedenen Felder :) –

Antwort

1

Aggregationen sind fast die gleichen, sollten Sie smth wie diese

GET _search 
{ 
    "aggs": { 
    "format_filter": { 
     "filter": { 
     "terms": { 
      "documentary_tag_id": [ 
      "2" 
      ] 
     } 
     }, 
     "aggs": { 
     "format": { 
      "terms": { 
      "field": "documentary_tag_id", 
      "exclude" : "2" 
      } 
     } 
     } 
    } 
    } 
} 

Aber es ist ein bisschen anders uproach wenn Sie are filtering, werden mit Wert lesen würden Sie format_filter bekommen müssen dann innerhalb von Sie finden Aggregation. Filtering innerhalb der Aggregation ist das gleiche

Verwandte Themen