https://es.xiaoleilu.com/054_Query_DSL/75_Queries_with_filters.html
任何一种语言(特别是js)的HTTP库都不允许
GET请求中携带交互数据。 事实上,有些用户很惊讶GET请求中居然会允许携带交互数据。
真实情况是,http://tools.ietf.org/html/rfc7231#page-24[RFC 7231], 一份规定HTTP语义及内容的RFC中并未规定
GET请求中允许携带交互数据! 所以,有些HTTP服务允许这种行为,而另一些(特别是缓存代理),则不允许这种行为。
Elasticsearch的作者们倾向于使用
GET提交查询请求,因为他们觉得这个词相比POST来说,能更好的描述这种行为。 然而,因为携带交互数据的GET请求并不被广泛支持,所以searchAPI同样支持POST请求,类似于这样:POST /_search
{
"from": 30,
"size": 10
}
这个原理同样应用于其他携带交互数据的
GETAPI请求中。
我们将在后续的章节中讨论聚合查询,但是现在我们把关注点仅放在查询语义上。
GET请求?