2013-06-21 6 views
9
Indices und Typen Treffer in Elasticsearch Zählen

ich die Abfrage unten bin mit dem Wort „Entwickler“ in einem Blog-Index zu finden ...Facet für

http://localhost:9200/blog/_search 
{ 
    "query": { 
    "query_string": { 
     "query": "developer" 
     } 
    } 
} 

Die Abfrage gibt 3 Treffer auf user und 1 Treffer auf post Typen, und ich möchte eine Facette dieser Treffer reflektieren so etwas wie ...

Suchergebnisse ...
Blogs Beiträge (1)
Benutzer (3)

anzuzeigen

... aber ich bin nicht sicher, wie man eine Facette mit einer Abfrage kombiniert, um solche Treffer zu zählen, da die meisten Beispiele Zählfelder gefunden haben; Ich versuchte _index zu benutzen, um Indexhits zurückzugeben, aber konnte es nicht zum Funktionieren bringen; Gibt es etwas Ähnliches für Typen wie _type, um Dokumenttyptreffer innerhalb eines Indexes zu zählen?

Antwort

11

Ok, es herausgefunden, anscheinend gibt es ein _type Feld für Facetten, auf dieser Basis ...

http://elasticsearch-users.115913.n3.nabble.com/enabled-quot-index-quot-does-not-allow-me-to-get-facet-values-td1056215.html

Abfrage

http://localhost:9200/blog/_search 

    { 
     "size" : 0, 
     "query" : { 
     "query_string" : { 
      "query" : "developer"} 
     }, 
     "facets" : { 
     "type" : { 
      "terms" : { "field" : "_type"} 
     } 
     } 
    } 

Antwort

{ 
    ... 
    "facets": { 
    "type": { 
     "_type": "terms", 
     "missing": 0, 
     "total": 4, 
     "other": 0, 
     "terms": [ 
     { 
      "term": "user", 
      "count": 3 
     }, 
     { 
      "term": "post", 
      "count": 1 
     } 
     ] 
    } 
    } 
}