2016-05-18 10 views
0

Ich habe einige Daten in elasticsearch geladen und eine Abfrage für die Daten geschrieben, aber die Ergebnisse enthalten alle Daten für die passenden Abfragen. Ist es möglich, die Ergebnisse zu filtern, um ein bestimmtes Feld anzuzeigen?Ist es möglich, ein spezifisches Feld zurückzugeben, wenn eine Abfrage im Sinne von elasticsearch ausgeführt wird

Beispiel Abfrage, um alle Datensätze für ein bestimmtes Land zu finden, aber um eine Liste der Registrierungsnummern zurückzugeben.

Alle Daten sind verfügbar elasticsearch aber ich bekomme eine volle json Aufzeichnung für jedes Spiel zurück.

Ich führe diese Abfrage in SENSE (innerhalb Kibana 4.5.0).

Die Abfrage ist ...

GET _search 
{ 
    filter_path=reg_no.*, 
    "fields" : ["reg_no"], 
    "query" : { 
     "fields" : ["country_cd", "oprg_stat"], 
     "query" : "956 AND 9074" 
     } 
} 

Wenn ich entfernen Sie die beiden Linien

filter_path=reg_no.*, 
"fields" : ["reg_no"], 

die Abfrage wird ausgeführt, sondern bringt alle Daten zurück.

Antwort

1

Diese Abfrage:

POST _search 
{ 
    "_source": [ 
    "reg_no" 
    ], 
    "query": { 
    "bool": { 
     "filter": [ 
     { 
      "term": { 
      "country_cd": "956" 
      } 
     },{ 
      "term": { 
      "oprg_stat": "9074" 
      } 
     } 
     ] 
    } 
    } 
}