2016-06-01 5 views
1

Ich bitte zu ES für Dokumente, die id eine oder andere ist:Dokumente Holen Sie sich id 'ID1' OR 'ID2'

{ 
    "query" : { 
    "bool" : { 
     "should" : [ { 
     "term" : { 
      "id" : "9a2646d4-e124-11e5-a976-382c4ab9e433" 
     } 
     }, { 
     "term" : { 
      "id" : "d7bf6f3b-27c0-11e6-b2ce-382c4ab9e433" 
     } 
     } ] 
    } 
    } 
} 

Diese Dokumente mit diesen id in ES-Index vorhanden sind.

Kurz möchte ich das Dokument id == 'x' OR id == 'y' bekommen.

Was mache ich falsch?

+0

Die 'id' Feld analysiert wird oder not_analyzed? Wenn analysiert, welcher Analysator wird verwendet? –

+0

Mit 'id' bezeichne ich das von ES erstellte Bezeichnerfeld, um die Dokumente zu sichern. Ich weiß nicht, welcher Analysator ihm standardmäßig zugewiesen ist. – Jordi

Antwort

3

Verwenden ids Abfrage für das:

GET /my_index/my_type/_search 
{ 
    "query": { 
    "ids": { 
     "values": [ 
     "9a2646d4-e124-11e5-a976-382c4ab9e433", 
     "d7bf6f3b-27c0-11e6-b2ce-382c4ab9e433" 
     ] 
    } 
    } 
} 
+0

Ist es nicht möglich, 'Such-API' zu verwenden? Ich müsste Dokumente mit 'ID = X und Feld = Y' bekommen. Kann ich eine Abfrage mit beiden erstellen? – Jordi

+0

** Es ist ** die Such-API. Und ja, Sie können diese Abfrage mit anderen kombinieren. –

+0

@Jordi diese Antwort ist richtig für Ihre erste Frage. –

Verwandte Themen