2016-12-03 4 views
0

Bitte beachten Sie, dass das folgende Beispiel eine sehr verkleinerte Version eines realen Anwendungsfalls ist, es ist für die Frage einfach zu lesen und zu machen Punkt.ElasticSearch: Gibt die Abfrage im Antworttext zurück, wenn hits = 0

Ich habe folgende Dokumentstruktur:

{ 
    "date" : 1400500, 
    "idc" : 1001, 
    "name": "somebody", 
} 

ich eine _msearch Abfrage (mehrere searchs zur gleichen Zeit) an Durchführung auf der Basis verschiedenen Werten (die „idc“ und „Datum“ Bereich)
Wenn eS keine Dokumente für den angegebenen Datumsbereich finden konnte es zurückgibt:

"hits":{ 
    "total":0, 
    "max_score":null, 
    "hits":[ 
    ] 
} 

Aber, da N Ergebnisse sind, kann ich nicht, welche „idc“ sagen und dieses Ergebnis „date“ Bereich war das, was zum.
Ich möchte die Antwort den "gesuchten" Datumsbereich und "IDC" haben, wenn es keine Ergebnisse für die angegebene Abfrage gibt.
zum Beispiel, wenn ich Dokumente bin auf der Suche nach IDC = 1001 und Datum zwischen 1.400.100 und 1.400.200, aber es gibt keine Ergebnisse, sollte die Antwort der Abfragebegriffe im Antworttext haben, so etwas wie dieses:

"hits":{ 
    "total":0, 
    "max_score":null, 
    "query": { 
      "date": { 
       "gt": 1400100, 
       "lte": 1400200, 
      } 
      "idc": 1001, 
     } 
} 

Auf diese Weise kann ich sagen, welcher Datumsbereich und "IDC" -Kombination keine Ergebnisse hat.
Bitte beachten Sie, dass das obige Beispiel eine sehr verkleinerte Version eines realen Anwendungsfalls ist, es ist für die Frage einfach zu lesen und um einen Punkt zu machen.

Antwort

Verwandte Themen