запрос в elasticsearch, работающий через почтальона, но не через код java - PullRequest
0 голосов
/ 06 августа 2020

Я пытаюсь найти запрос на индийском языке среди текстов, проиндексированных в elasticsearch. Когда я отправляю запрос POST через почтальона, я получаю эту запись, но когда я проверяю ее через чванство, она не работает

Снимок почтальона

String url =  "http://localhost:9200/mono/_doc/_search?pretty";
        CloseableHttpClient httpClient = (HttpClients.createDefault());
        HttpPost httpPost = new HttpPost(url);
    httpPost.setHeader("content-type", "application/json");
System.out.println("Request : " + httpPost);

        httpPost.setEntity(entity);
        // Execute and get the response after ingesting PO (purchase order) into
        // Globality.
        HttpResponse response = httpClient.execute(httpPost);
        String response2 = EntityUtils.toString(response.getEntity());

        if (response2 != null) {
            System.out.println(response2);
        }

Отладка вывод из кода:

json2:

 {"query":{"match":{"body":{"fuzziness":"2","query":"जन्मभूमि"}}}}

Запрос:

POST http://localhost:9200/mono/_doc/_search?pretty HTTP/1.1

Ответ:

{
  "took" : 1,
  "timed_out" : false,
  "_shards" : {
    "total" : 1,
    "successful" : 1,
    "skipped" : 0,
    "failed" : 0
  },
  "hits" : {
    "total" : {
      "value" : 0,
      "relation" : "eq"
    },
    "max_score" : null,
    "hits" : [ ]
  }
}

Итак, как мы видим выше, нет результат возвращается. Это из-за HTTP версии 1.0. Это должно быть 2.0 ?. если да, то как это указать ?. Это как-то связано с проблемой c, специфичной для индийского языка ?. Но не могу понять, как он работает через почтальон, а не через java код.

Еще одна вещь, в почтальоне он работает как с GET, так и с POST. В коде я хотел сначала использовать GET, но не знал, как отправить тело с запросом GET, поэтому в итоге использовал POST.

1 Ответ

0 голосов
/ 11 августа 2020

Работает сейчас. Добавлено: StringEntity entity = new StringEntity (jsonString, "UTF-8");

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...