2017-02-14 48 views
0

的我使用的elasticsearch javascript庫和我在努力弄清楚如何只返回_source對象的內部什麼......我拉,像這樣的數據:只返回什麼內部_source

client.search({ 
    index: 'kafkajmx2', 
    body: { 
      "_source": "*", 
      "size": 10000, 
      "query": { 
      "bool": { 
       "must": [ 
       { "match": { "metric_name": "IsrExpandsPerSec.Count" }} 
       ], 
       "filter": [ 
       { 
        "range": { 
        "@timestamp": { 
         "gte": "now-60m" 
        } 
        } 
       } 
       ] 
      } 
      } 

     } 
    }) 

但我沒有得到源回...如果我將"_source": "*"更改爲"_source": true,我仍然得到相同的結果...

+1

基本上你不能。你可以使用JSON來獲取'_source'裏面的內容或者使用中間服務來完成它,這樣你就可以向中間服務發送請求,並且只在JavaScript中獲得'_source'。 –

回答

0

有元數據與返回的結果相關聯。您在_source中指示的*僅用於_source中的字段,而不用於元數據,這是JSON負載中_source對象之外的所有內容。 Elasticsearch - how to return only data, not meta information?我相信和你所問的很相似,看起來它不可行,儘管這個問題相當古老,因爲ElastiSearch有更新的版本。查看最新版本,截至撰寫本文時爲5.2,不允許你這樣做。您將需要解析查詢返回的結果。