2016-07-29 9 views
3

jest(Javaクライアントとして)で弾性検索を使用しています。 ネストされたドキュメントにあるいくつかのフィールドが必要です。ネストされたフィールドをペアとして取得できないため、取得するには '_source'が必要です。Elasticsearch - java apiでソースフィールドデータを取得

ここではESクエリ[Link]でそれらを取得する前の質問ですが、うまくいきます。

しかし、そのクエリをjestコードとして変換することはできません。 以下は私の試しです。

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

答えて

5

このようfetchSource()を使用してみてください:私のために

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

作品。ありがとう:) –

関連する問題