Как реализовать 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();