2016-07-12 15 views
4

Elasticsearch hat ids Abfrage nach Dokumenten nach ID suchen. Ich versuchte es in verschachtelter Abfrage zu verwenden:Suchen Sie verschachtelte Dokumente nach ID

{ 
    "query": { 
     "nested": { 
      "path": "nestedField", 
      "query": {"ids":{ "values": ["nestedDocumentId" ] }}, 
      "inner_hits" : {}  
     } 
    } 
} 

Aber diese Abfrage betrachtet geordneten Dokument-ID, nicht verschachtelte.
Kann ich die Abfrage ids verwenden, um verschachtelte Dokumente anhand ihrer IDs zu finden?

+0

Warum brauchen Sie das? Die ID der verschachtelten Dokumente wird automatisch erstellt und Sie können dies nicht steuern. –

+0

@AndreiStefan Ich erstelle eine Beziehung * hasMany * mit _nested objects_. Ich entschied mich, _parent-child_ nicht zu verwenden, da _nested objects_ approach schneller ist. Ich muss das Objekt eines beliebigen Dokuments (verschachtelt oder nicht) durch eine oder mehrere IDs finden. –

Antwort

4

Die ID der verschachtelten Dokumente wird automatisch erstellt und Sie können dies nicht steuern.

Die Lösung Index ist, dass id in dem verschachtelten Dokument itslef als reguläres Feld und machen einen terms Filter statt ids.

Verwandte Themen