我正在尝试创建一个小型应用程序,以显示在Elasticsearch(在AWS托管Elasticsearch服务上)建立索引的数据中的一些简单可视化。
据我所知,AWS通过其ES服务提供的访问控制程度是基于允许特定的HTTP动词(GET,POST等)来简化我和ES管理员的工作,因此,我授予了此权限应用的“只读”权限,因此仅GET和HEAD 。
但是,我看到ES对于其搜索API,公开了一个与查询字符串参数一起使用的GET端点,以及一个与基于JSON的“查询DSL”一起使用的POST端点。在网上和书中看到的所有示例中,这种DSL似乎都是首选方法。
考虑到整个文档中查询DSL的优势,我想知道:
最佳答案
You can use query parameters to define your search criteria directly in the request URI, rather than in the request body. Request URI searches do not support the full Elasticsearch Query DSL, but are handy for testing.
GET
的行为有点令人困惑,但是当您使用主体执行POST
时,即使是Kibana也会在后台发送GET
。如果必须使用GET
,某些查询结果可能是意外的。您的确切用例是什么?我们在谈论哪些查询? 仅供引用,更有用的信息是here和here。
关于elasticsearch - 在Elasticsearch搜索中,GET请求的查询字符串参数和POST请求的 “Query DSL”在功能上是否等效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61125333/