Как сделать запрос на эластичный URL-адрес поиска с помощью Java-приложения?

1

Когда я просматриваю URL-адрес эластичного поиска, он работает, когда я пытаюсь подключиться через код, он возвращает ошибку 400 с ошибкой. Когда я запрашиваю для www.google.com, он возвращает '200 OK'. В чем может быть проблема?

вот мой код:

      url = new URL("http://192.168.1.68:9200");
      httpCon = (HttpURLConnection) url.openConnection();
      httpCon.setDoOutput(true);
      httpCon.setRequestMethod("POST");
      out = new OutputStreamWriter(
      httpCon.getOutputStream());
      int responseCode = httpCon.getResponseCode();
      String responseMessage = httpCon.getResponseMessage();
      System.out.println(responseCode);
      System.out.println(responseMessage);
      if (httpCon.getResponseCode()==HttpURLConnection.HTTP_OK){
          JOptionPane.showMessageDialog(rootPane, "Connection Successful");
      }
      else {
          JOptionPane.showMessageDialog(rootPane, "Connection Error!");
      }
      out.Close();
  • 1
    Вы пробовали "GET" вместо "POST" ??
  • 0
    @MarlonAbeykoon Да
Теги:
http
elasticsearch

1 ответ

0
Лучший ответ

Вы не проходите ни в какие параметры поиска... например:

url = new URL("http://192.168.1.68:9200");

должно быть

url = new URL("http://192.168.1.68:9200/_search?q=whatever+you+want");

или вы должны опубликовать свой форматированный запрос JSON, записав его в поток и затем его закрыв (но вам по-прежнему нужно пометить /_search на ваш URL-адрес).

Ещё вопросы

Сообщество Overcoder
Наверх
Меню