Как записать данные вasticsearch? - PullRequest
0 голосов
/ 23 апреля 2020

В Java есть проект, который занимается потоковой передачей с API. Необходимо, чтобы данные, полученные из потока, были записаны в базу данных Elastiсsearch. Как я могу это сделать? Возможен ли подробный пример?

Класс:

public class WebsoketPrinter {

    private org.elasticsearch.client.Client client;

    private VkStreamingApiClient streamingClient;
    public StreamingActor streamingActor;
    private VkApiClient vkClient;

    WebsoketPrinter() {
        TransportClient transportClient = new HttpTransportClient();
        streamingClient = new VkStreamingApiClient(transportClient);
        vkClient = new VkApiClient(transportClient);
        streamingActor = new StreamingActor(this.getServerUrlResponse().getEndpoint(), this.getServerUrlResponse().getKey());

    }

    private GetServerUrlResponse getServerUrlResponse() {
        ConfigReader configReader = new ConfigReader();
        Integer appId = Integer.valueOf(configReader.getProp("appId"));
        String accessToken = configReader.getProp("accessToken");
        ServiceActor serviceActor = new ServiceActor(appId, accessToken);
        GetServerUrlResponse getServerUrlResponse = null;

        try {
            getServerUrlResponse = vkClient.streaming().getServerUrl(serviceActor).execute();
        } catch (ApiException | ClientException e) {
            e.printStackTrace();
        }
        return getServerUrlResponse;
    }


    public void print() {
        try {

            streamingClient.stream().get(streamingActor, new StreamingEventHandler() {
                @Override
                public void handle(StreamingCallbackMessage message) {
                    System.out.println(message.toString());
                }
            }).execute();
        } catch (ExecutionException | InterruptedException e) {
            e.printStackTrace();
        }
    }
}

Этот класс имеет метод «print», который отображает полученные данные из потоковой передачи на экран. Переменная, в которой хранятся данные, называется сообщением. Как записать эту переменную с данными в базу данныхasticsearch?

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