Elasticsearch是否仅为_search端点或全部支持GET上的POST?

时间:2015-11-08 10:30:17

标签: elasticsearch

官方参考文件指出,也可以通过_search而不是POST发送GET个请求,因为并非所有客户都支持使用GET发送身体(请参阅https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-body.html })。然后,您可以将URL中的查询参数作为JSON直接插入正文中。

现在我想知道:对于Elasticsearch提供需要查询参数的所有GET个请求,这是真的吗?

例如,_stat端点(https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-stats.html)被记录为GET请求(这是有意义的),但支持URI参数。在这种情况下使用POST是否安全,并使用JSON传递身体中的参数?

1 个答案:

答案 0 :(得分:2)

不,_search端点是少数特殊情况之一。如果您查看RestIndicesStatsAction.java_stats端点的源代码,您会发现只支持GET HTTP方法。

使用POST方法通常只有在要发送的有效负载可能非常大时才有意义,而对于少数参数(例如_stats端点接受的参数)则不然。在这种情况下,在查询字符串中发送这些参数通常就足够了。