首页 > 解决方案 > 使用 java 客户端在 AWS 弹性搜索中进行通配符搜索

问题描述

我正在尝试使用 java 访问AWS 弹性搜索不是可以托管在某些机器上的普通 Elastic,而是 AWS 版本的 Elastic)。我已经确定的一件事是,我们必须使用REST TEMPLATE而不是TransportClient方法,因为 AWS ES 托管在端口 80 上,并且要获取数据,我们必须发送带有有效负载的 POST 请求。

我能够在此过程中获得简单的数据,但请求不采用通配符。它给了我以下错误:

{"type":"parse_exception","reason":"Failed to derive xcontent"}

问题:
1. 我对 Java 在端口 80 上访问 AWS ES 的理解是否正确?这是否意味着我们必须使用 POST 而不是 GET 来发送具有属性级别过滤的请求?

  1. 有没有办法将属性传递给 url 本身的弹性搜索?我尝试了以下不起作用的示例,例如:http://helloworld.amazon.com/customer/_search?q=emailID:*abc@gmail.*

  2. 我们如何通过 java 客户端将通配符传递给 AWS ES 以获取数据?

标签: javaamazon-web-serviceselasticsearchamazon-elasticsearchaws-elasticsearch

解决方案


推荐阅读