Как получить данные о попаданиях изasticsearch в Java

Вы должны привязать все действия в document.ready, потому что вам нужно дождаться, пока документ будет полностью загружен.

Но вы должны создавать функции для всех действий и вызывать их из документа document.ready. Когда вы создаете функции (ваши глобальные объекты), назовите их, когда захотите. Таким образом, как только ваши новые данные будут загружены и будут созданы новые элементы, снова вызовите эти функции.

Эти функции связаны с событиями и элементами действия.

$(document).ready(function(){
bindelement1();
bindelement2();
});

function bindelement1(){
$('el1').on('click',function...);
//you might make an ajax call here, then under complete of the AJAX, call this function or any other function again
}

function bindelement2(){
$('el2').on('click',function...);
}
0
задан Sowmya 17 January 2019 в 11:55
поделиться

3 ответа

Лучший способ получить к нему доступ из Java - использовать официальный Java REST API из Elastic. API позволит вам работать с объектами Java вместо самостоятельной обработки данных.

0
ответ дан Mike Thomsen 17 January 2019 в 11:55
поделиться

Сначала нужно преобразовать строку json в объект json / map, используя gson, Jackson или другой метод.

Затем, когда у вас есть карта, попадания находятся под ключом: hit.hits, поскольку в качестве массива карт каждая карта в массиве представляет собой попадание со своими метаданными. Оригинальный документ находится под ключом _source в каждом хите.

Я также настоятельно рекомендую ознакомиться с документами эластичного поиска, которые являются хорошим источником.

0
ответ дан ziv 17 January 2019 в 11:55
поделиться

Например, вы хотите получить все данные как Car типа. Ваш ответ на запрос сохраняется в переменной searchResponse, получает все попадания и сериализует их для объектов. Посмотрите на пример ниже:

Gson gson = new Gson();

var flowers = new ArrayList<Flower>();

Arrays.stream(searchResponse.getHits().getHits()).forEach(hit ->
                    cars.add(gson.fromJson(hit.getSourceAsString(), Car.class)));

Конечно, я использую gson для сериализации JSON в объект.

0
ответ дан Ice 17 January 2019 в 11:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: