Я пытаюсь найти запрос на индийском языке среди текстов, проиндексированных в 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.