Class ElasticsearchTransport
- java.lang.Object
-
- org.apache.calcite.adapter.elasticsearch.ElasticsearchTransport
-
final class ElasticsearchTransport extends java.lang.Object
Set of predefined functions for REST interaction with elastic search API. Performs HTTP requests and JSON (de)serialization.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
ElasticsearchTransport.HttpFunction
Basic rest operations interacting with elastic cluster.private static class
ElasticsearchTransport.JsonParserFn<T>
Parses HTTP response into some class using jackson API.
-
Field Summary
Fields Modifier and Type Field Description (package private) static int
DEFAULT_FETCH_SIZE
(package private) int
fetchSize
Default batch size(package private) java.lang.String
indexName
private static org.slf4j.Logger
LOGGER
private com.fasterxml.jackson.databind.ObjectMapper
mapper
(package private) ElasticsearchMapping
mapping
private org.elasticsearch.client.RestClient
restClient
(package private) java.lang.String
typeName
(package private) ElasticsearchVersion
version
-
Constructor Summary
Constructors Constructor Description ElasticsearchTransport(org.elasticsearch.client.RestClient restClient, com.fasterxml.jackson.databind.ObjectMapper mapper, java.lang.String indexName, java.lang.String typeName, int fetchSize)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) void
closeScroll(java.lang.Iterable<java.lang.String> scrollIds)
private ElasticsearchMapping
fetchAndCreateMapping()
Build index mapping returning new instance ofElasticsearchMapping
.(package private) com.fasterxml.jackson.databind.ObjectMapper
mapper()
(package private) java.util.function.Function<org.apache.http.HttpRequest,org.elasticsearch.client.Response>
rawHttp()
(package private) <T> java.util.function.Function<org.apache.http.HttpRequest,T>
rawHttp(java.lang.Class<T> responseType)
(package private) org.elasticsearch.client.RestClient
restClient()
(package private) java.util.function.Function<java.lang.String,ElasticsearchJson.Result>
scroll()
Fetches search results given a scrollId.(package private) java.util.function.Function<com.fasterxml.jackson.databind.node.ObjectNode,ElasticsearchJson.Result>
search()
(package private) java.util.function.Function<com.fasterxml.jackson.databind.node.ObjectNode,ElasticsearchJson.Result>
search(java.util.Map<java.lang.String,java.lang.String> httpParams)
Search request using HTTP post.private ElasticsearchVersion
version()
Detects current Elastic Search version by connecting to a existing instance.
-
-
-
Field Detail
-
LOGGER
private static final org.slf4j.Logger LOGGER
-
DEFAULT_FETCH_SIZE
static final int DEFAULT_FETCH_SIZE
- See Also:
- Constant Field Values
-
mapper
private final com.fasterxml.jackson.databind.ObjectMapper mapper
-
restClient
private final org.elasticsearch.client.RestClient restClient
-
indexName
final java.lang.String indexName
-
typeName
final java.lang.String typeName
-
version
final ElasticsearchVersion version
-
mapping
final ElasticsearchMapping mapping
-
fetchSize
final int fetchSize
Default batch size- See Also:
- Scrolling API
-
-
Method Detail
-
restClient
org.elasticsearch.client.RestClient restClient()
-
version
private ElasticsearchVersion version()
Detects current Elastic Search version by connecting to a existing instance. It is aGET
request to/
. Returned JSON has server information (including version).- Returns:
- parsed version from ES, or
ElasticsearchVersion.UNKNOWN
-
fetchAndCreateMapping
private ElasticsearchMapping fetchAndCreateMapping()
Build index mapping returning new instance ofElasticsearchMapping
.
-
mapper
com.fasterxml.jackson.databind.ObjectMapper mapper()
-
rawHttp
java.util.function.Function<org.apache.http.HttpRequest,org.elasticsearch.client.Response> rawHttp()
-
rawHttp
<T> java.util.function.Function<org.apache.http.HttpRequest,T> rawHttp(java.lang.Class<T> responseType)
-
scroll
java.util.function.Function<java.lang.String,ElasticsearchJson.Result> scroll()
Fetches search results given a scrollId.
-
closeScroll
void closeScroll(java.lang.Iterable<java.lang.String> scrollIds)
-
search
java.util.function.Function<com.fasterxml.jackson.databind.node.ObjectNode,ElasticsearchJson.Result> search()
-
search
java.util.function.Function<com.fasterxml.jackson.databind.node.ObjectNode,ElasticsearchJson.Result> search(java.util.Map<java.lang.String,java.lang.String> httpParams)
Search request using HTTP post.
-
-