2016-07-29 11 views
3

Ich verwende elastische Suche mit Jest (als Java-Client). Ich brauche einige Felder, die im verschachtelten Dokument sind und da verschachtelte Felder nicht als Paar erhalten können, brauche ich '_source', um sie zu bekommen.Elasticsearch - Quelldaten mit Java-API abrufen

Hier ist die vorherige Frage, um sie in ES Abfrage [Link] zu bekommen, und es funktioniert gut.

ABER kann seine Abfrage nicht als Jest-Code konvertieren. Unten ist mein Versuch.

SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder().query( 
      query 
     ) 
     .fields(  // need _source but no method. 
      "oid", 
      "_source.events.activityoid", 
      "_source.events.worktime"); 

Antwort

5

Versuchen fetchSource() wie folgt aus: für mich

SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder() 
    .query(query) 
    .fetchSource(new String[] { 
     "oid", 
     "events.activityoid", 
     "events.worktime" 
    }, null); 
+0

Works. Vielen Dank :) –