Я пытаюсь извлечь данные из класса SearchResponse с указанным кодом:Невозможно получить данные из упругого поиска SearchResponse
SearchHits searchHits = searchResponse.getHits();
for (SearchHit searchHit : searchHits) {
SearchHitField title = searchHit.field("title");
System.out.println(title.getValue().toString());
}
Но я получаю исключение нулевого указателя в функции title.getValue(). «Название» поле, безусловно, есть, и я могу подтвердить, что напечатав ответ поиска, который дает следующий результат:
{
"took" : 13,
"timed_out" : false,
"_shards" : {
"total" : 5,
"successful" : 5,
"failed" : 0
},
"hits" : {
"total" : 1,
"max_score" : 1.0,
"hits" : [ {
"_index" : "myIndex",
"_type" : "myTye",
"_id" : "5c849b0f-d72d-4cc9-9b8c-e1201f888f94",
"_score" : 2.4181843,
"_source":{"esId":"100200153", "title":"Book 1"}
}
}
Я знаю, что я могу получить данные с searchHit.getSource(), но мне интересно, почему вышеупомянутое решение не работает.
К сожалению, он не работает – salvador