Class ElasticSearchClient
- java.lang.Object
-
- org.apache.skywalking.oap.server.library.client.elasticsearch.ElasticSearchClient
-
- All Implemented Interfaces:
Client,HealthCheckable
public class ElasticSearchClient extends Object implements Client, HealthCheckable
ElasticSearchClient connects to the ES server by using ES client APIs.
-
-
Constructor Summary
Constructors Constructor Description ElasticSearchClient(String clusterNodes, String protocol, String trustStorePath, String trustStorePass, String user, String password, Function<String,String> indexNameConverter, int connectTimeout, int socketTimeout, int responseTimeout, int numHttpClientThread)ElasticSearchClient(String clusterNodes, String protocol, String trustStorePath, Function<String,String> indexNameConverter, int connectTimeout, int socketTimeout, int responseTimeout, int numHttpClientThread)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidconnect()BulkProcessorcreateBulkProcessor(int bulkActions, int flushInterval, int concurrentRequests, int batchOfBytes)booleancreateIndex(String indexName)booleancreateIndex(String indexName, Mappings mappings, Map<String,?> settings)booleancreateOrUpdateTemplate(String indexName, Map<String,Object> settings, Mappings mapping, int order)booleandeleteByIndexName(String indexName)If your indexName is retrieved from elasticsearch throughretrievalIndexByAliases(String)or some other method and it already contains namespace.booleandeleteScrollContextQuietly(String scrollId)booleandeleteTemplate(String indexName)booleanexistDoc(String indexName, String id)voidforceInsert(String indexName, String id, Map<String,Object> source)voidforceUpdate(String indexName, String id, Map<String,Object> source)StringformatIndexName(String indexName)Optional<Document>get(String indexName, String id)Optional<Index>getIndex(String indexName)Optional<IndexTemplate>getTemplate(String name)Optional<Documents>ids(Map<String,List<String>> indexIds)Provide to get documents from multi indices by IDs.booleanisExistsIndex(String indexName)booleanisExistsTemplate(String indexName)IndexRequestWrapperprepareInsert(String indexName, String id, Map<String,Object> source)IndexRequestWrapperprepareInsert(String indexName, String id, Optional<String> routingValue, Map<String,Object> source)UpdateRequestWrapperprepareUpdate(String indexName, String id, Map<String,Object> source)voidregisterChecker(HealthChecker healthChecker)Register health checker.Collection<String>retrievalIndexByAliases(String alias)SearchResponsescroll(Duration contextRetention, String scrollId)SearchResponsesearch(String indexName, Search search)SearchResponsesearch(String indexName, Search search, SearchParams params)SearchResponsesearch(Supplier<String[]> indices, Search search)SearchResponsesearchIDs(String indexName, Iterable<String> ids)Search by ids with index alias, when can not locate the physical index.voidsetPassword(String password)voidsetTrustStorePass(String trustStorePass)voidsetUser(String user)voidshutdown()booleanupdateIndexMapping(String indexName, Mappings mapping)
-
-
-
Field Detail
-
TYPE
public static final String TYPE
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
ElasticSearchClient
public ElasticSearchClient(String clusterNodes, String protocol, String trustStorePath, String trustStorePass, String user, String password, Function<String,String> indexNameConverter, int connectTimeout, int socketTimeout, int responseTimeout, int numHttpClientThread)
-
-
Method Detail
-
registerChecker
public void registerChecker(HealthChecker healthChecker)
Description copied from interface:HealthCheckableRegister health checker.- Specified by:
registerCheckerin interfaceHealthCheckable- Parameters:
healthChecker- HealthChecker to be registered.
-
createIndex
public boolean createIndex(String indexName)
-
createIndex
public boolean createIndex(String indexName, Mappings mappings, Map<String,?> settings)
-
retrievalIndexByAliases
public Collection<String> retrievalIndexByAliases(String alias)
-
deleteByIndexName
public boolean deleteByIndexName(String indexName)
If your indexName is retrieved from elasticsearch throughretrievalIndexByAliases(String)or some other method and it already contains namespace. Then you should delete the index by this method, this method will no longer concatenate namespace. https://github.com/apache/skywalking/pull/3017
-
isExistsIndex
public boolean isExistsIndex(String indexName)
-
getTemplate
public Optional<IndexTemplate> getTemplate(String name)
-
isExistsTemplate
public boolean isExistsTemplate(String indexName)
-
createOrUpdateTemplate
public boolean createOrUpdateTemplate(String indexName, Map<String,Object> settings, Mappings mapping, int order)
-
deleteTemplate
public boolean deleteTemplate(String indexName)
-
search
public SearchResponse search(Supplier<String[]> indices, Search search)
-
search
public SearchResponse search(String indexName, Search search)
-
search
public SearchResponse search(String indexName, Search search, SearchParams params)
-
scroll
public SearchResponse scroll(Duration contextRetention, String scrollId)
-
deleteScrollContextQuietly
public boolean deleteScrollContextQuietly(String scrollId)
-
ids
public Optional<Documents> ids(Map<String,List<String>> indexIds)
Provide to get documents from multi indices by IDs.- Parameters:
indexIds- key: indexName, value: ids list- Returns:
- Documents
- Since:
- 9.2.0
-
searchIDs
public SearchResponse searchIDs(String indexName, Iterable<String> ids)
Search by ids with index alias, when can not locate the physical index. Otherwise, recommend use methodids(java.util.Map<java.lang.String, java.util.List<java.lang.String>>)- Parameters:
indexName- Index alias name or physical nameids- ID list- Returns:
- SearchResponse
- Since:
- 9.2.0 this method was ids
-
prepareInsert
public IndexRequestWrapper prepareInsert(String indexName, String id, Map<String,Object> source)
-
prepareInsert
public IndexRequestWrapper prepareInsert(String indexName, String id, Optional<String> routingValue, Map<String,Object> source)
-
prepareUpdate
public UpdateRequestWrapper prepareUpdate(String indexName, String id, Map<String,Object> source)
-
createBulkProcessor
public BulkProcessor createBulkProcessor(int bulkActions, int flushInterval, int concurrentRequests, int batchOfBytes)
-
setTrustStorePass
public void setTrustStorePass(String trustStorePass)
-
setUser
public void setUser(String user)
-
setPassword
public void setPassword(String password)
-
-