Как реализовать Spring Rest Client для упругого поиска?

Мы разрабатываем эластичное поисковое приложение в весенней загрузке. Мы не можем использовать API Java или Java Rest Client API, предоставляемые эластичным поиском. Вместо этого нам нужно выполнять операции с использованием эластичного элемента, используя шаблон упругости пружины, но, по-видимому, эластичный элемент не принимает запросы индекса от остального клиента. Мы получили ответ "Не приемлемо". Я действительно ценю, если кто-нибудь дает нам какие-то советы или информацию.

Эластичная версия: 5.6

1 ответ

Попробуй это. У меня это работает для индексирования документа через HTTP API с использованием HttpURLConnection.

URL obj = new URL("http://localhost:9200/index/type");
String json = "{\n" + 
            "    \"user\" : \"kimchy\",\n" + 
            "    \"post_date\" : \"2009-11-15T14:12:12\",\n" + 
            "    \"message\" : \"trying out Elasticsearch\"\n" + 
            "}";
HttpURLConnection con = (HttpURLConnection) obj.openConnection();

con.setRequestMethod("POST");
con.setDoInput(true);
con.setDoOutput(true);
con.setRequestProperty("Content-Type", "application/json; charset=UTF-8");

OutputStreamWriter osw = new OutputStreamWriter(con.getOutputStream());
osw.write(json);
osw.flush();
osw.close();

System.out.println(con.getResponseCode() + " : " + con.getResponseMessage());
if (con != null)
    con.disconnect();

Выполнение простого поиска с использованием HttpURLConnection.

URL obj = new URL("http://localhost:9200/index/type/_search");
String json = "{\n" + 
                "  \"query\": {\n" + 
                "    \"match_all\": {}\n" + 
                "  }\n" + 
                "}";
HttpURLConnection con = (HttpURLConnection) obj.openConnection();

con.setRequestMethod("GET");
con.setDoInput(true);
con.setDoOutput(true);
con.setRequestProperty("Content-Type", "application/json; charset=UTF-8");

OutputStreamWriter osw = new OutputStreamWriter(con.getOutputStream());
osw.write(json);
osw.flush();
osw.close();

BufferedReader br = new BufferedReader(new InputStreamReader((con.getInputStream())));

System.out.println("Response : " + br.readLine());

System.out.println(con.getResponseCode() + " : " + con.getResponseMessage());

if (con != null)
    con.disconnect();
Другие вопросы по тегам