Я формирую SearchRequest и с помощью ElasticSearch RestHighLevelClient
пытаюсь получить документы из ElasticSearch.Но, хотя при поиске документов в ES появляется следующая ошибка:
Найдите трассировку стека ниже:
`18-Sep-2018 06:35:55.819 SEVERE [Thread-10] com.demo.searchengine.dao.DocumentSearch.getDocumentByName listener timeout after waiting for [30000] ms
java.io.IOException: listener timeout after waiting for [30000] ms
at org.elasticsearch.client.RestClient$SyncResponseListener.get(RestClient.java:663)
at org.elasticsearch.client.RestClient.performRequest(RestClient.java:222)
at org.elasticsearch.client.RestClient.performRequest(RestClient.java:194)
at org.elasticsearch.client.RestHighLevelClient.performRequest(RestHighLevelClient.java:443)
at org.elasticsearch.client.RestHighLevelClient.performRequestAndParseEntity(RestHighLevelClient.java:429)
at org.elasticsearch.client.RestHighLevelClient.search(RestHighLevelClient.java:368)
at com.demo.searchengine.dao.DocumentSearch.getDocumentByName(DocumentSearch.java:76)
at com.demo.searchengineservice.mqservice.Service.searchByDocuments(Service.java:43)
at com.demo.searchengineservice.mqservice.Consumer.consume(Consumer.java:27)
at com.demo.utils.Consumer$1$1.run(Consumer.java:89)
at java.lang.Thread.run(Unknown Source)`
Пожалуйста, найдите мой код ниже:
public class SearchEngineClient {
private static PropertiesFile propertiesFile = PropertiesFile.getInstance();
private final static String elasticHost =propertiesFile.extractPropertiesFile().getProperty("ELASTIC_HOST");
private static RestHighLevelClient instance = new RestHighLevelClient(RestClient.builder(
new HttpHost(elasticHost, 9200, "http"),
new HttpHost(elasticHost, 9201, "http")));
public static RestHighLevelClient getInstance() {
return instance;
}
}
Использую экземпляр клиента ниже для получения ответа от ES.
searchResponse = SearchEngineClient.getInstance().search(contentSearchRequest);