2015-11-02 58 views
2

林Elasticsearch刪除默認領域做返回像70K文件的查詢(我需要所有這些,和Im當前正在使用掃描&滾動)從搜索的響應主體

什麼情況是,響應是非常大的(2 MB,我們將其從6 MB降低到了6 MB)。我們篩選了我們需要的字段,並且由於查詢只從API調用,所以我們減少了屬性的名稱。

我所看到的是,在數組「命中」每個文檔具有以下默認領域,我真的不需要他們:

  • _index(我們只對一個指標要求)
  • 類型_(我們只對一種類型)
  • _id(我們alredy有這樣一個字段)
  • _score(我們不進球)

是個要求ERE的方式將其刪除,這樣我可以有以下結構:

"hits" : [ 
{ 
    "_source": { 
     ... 
    } 
}, 
{ 
    "_source": { 
     ... 
    } 
} 

]

感謝您的閱讀! 我會感謝您的幫助!

回答

8

是的,如果您使用ES 1.6或更高版本,則可以使用response filteringfilter_path參數。

curl -XGET 'localhost:9200/_search?pretty&filter_path=hits.hits._source' 

你甚至可以指定只田野上你想

curl -XGET 'localhost:9200/_search?pretty&filter_path=hits.hits._source&_source=title,name' 
+0

謝謝你的快速反應!像魅力一樣工作! –

+0

太棒了,很高興它解決了! – Val

+0

是否可以使用POST正文請求篩選匹配。**字段? –