2016-08-01 6 views
-2

Gibt es sowieso, Schlüsselliste zu Begriff Aggregation anzugeben.Elasticsearch Begriffe Aggregation angeben Schlüsselliste

Zum Beispiel ist dies meine Abfrage. Ich Filterelement Feld mit Werten 72,16,92

{ 
    "from": 0, 
    "size": 0, 
    "query": { 
    "filtered": { 
     "filter": { 
     "and": [{ 
      "or": [{ 
      "term": { 
       "member": 72 
      } 
      }, { 
      "term": { 
       "member": 16 
      } 
      }, { 
      "term": { 
       "member": 92 
      } 
      }] 
     }] 
     }, 
     "query": { 
     "match_all": {} 
     } 
    } 
    }, 
    "aggs": { 
    "member": { 
     "terms": { 
     "field": "member", 
     "order": { 
      "_term": "asc" 
     }, 
     "size": 100 
     } 
    } 
    } 
} 

Aggregation Ergebnis gibt nur 16 und 72, weil member = 92 entspricht nicht jedes Dokument.

{ 
    "took": 6, 
    "timed_out": false, 
    "_shards": { 
    "total": 5, 
    "successful": 5, 
    "failed": 0 
    }, 
    "hits": { 
    "total": 2360, 
    "max_score": 0, 
    "hits": [] 
    }, 
    "aggregations": { 
    "member": { 
     "doc_count_error_upper_bound": 0, 
     "sum_other_doc_count": 0, 
     "buckets": [{ 
     "key": 16, 
     "doc_count": 2357 
     }, { 
     "key": 72, 
     "doc_count": 3 
     }] 
    } 
    } 
} 

Ich möchte 0 Schlüssel in Aggregationsergebnis als doc_count erhalten, die nicht in resultset

Antwort

0

Versuchen besteht hinzufügen min_doc_count

"aggs": { 
"member": { 
    "terms": { 
    "field": "member", 
    "min_doc_count": 0, 
    "order": { 
     "_term": "asc" 
    }, 
    "size": 100 
    } 
} 
+0

min_doc_co unt funktioniert nicht für mich. Ich möchte nicht alle Begriffe verstehen. Ich möchte Begriffe angeben, die ich brauche. – talhasch

0

Elasticsearch weiß nicht, über ein nicht vorhandenes term es sei denn, Sie speziell suchen:

"aggs": { 
    "member72": { 
     "filter": { 
     "term": { 
      "member": 72 
     } 
     } 
    }, 
    "member16": { 
     "filter": { 
     "term": { 
      "member": 16 
     } 
     } 
    }, 
    "member92": { 
     "filter": { 
     "term": { 
      "member": 92 
     } 
     } 
    } 
    } 
Verwandte Themen