2015-11-08 46 views
0

官方參考指出,也可以通過POST而不是GET發送_search請求,因爲並非所有客戶端都支持使用GET(請參閱https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-body.html)發送bodys。然後,您可以將URL中的查詢參數直接作爲JSON插入到主體中。Elasticsearch是否僅支持_search端點或全部的POST over GET?

現在我想知道:對於所有GET請求Elasticsearch提供哪些需要查詢參數的請求?

例如,_stat端點(https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-stats.html)被記錄爲GET請求(這是有道理的),但支持URI參數。在這種情況下使用POST是否安全並使用JSON傳遞正文中的參數?

回答

2

不,_search端點是一些特殊情況之一。如果您查看RestIndicesStatsAction.java_stats端點的源代碼,則可以看到僅支持GET HTTP方法。

只有當要發送的有效負載可能相當大時,使用POST方法通常纔有意義,但對於少數參數(例如端點接受的參數)則不是這種情況。在這種情況下,在查詢字符串中發送這些參數通常綽綽有餘。

相關問題