Elasticsearch Plugin¶
Elasticsearch is a popular search and analytics engine.
Maven:
<dependency>
<groupId>org.geotools</groupId>
<artifactId>gt-elasticsearch</artifactId>
<version>${geotools.version}</version>
</dependency>
Connection Parameters¶
Available data store connection parameters are summarized in the following table:
Parameter |
Description |
elasticsearch_host |
Host (IP) for connecting to Elasticsearch. HTTP scheme and port can optionally be included to override the defaults. Multiple hosts can be provided. Examples: localhost
localhost:9200
http://localhost
http://localhost:9200
https://localhost:9200
https://somehost.somedomain:9200,https://anotherhost.somedomain:9200
|
elasticsearch_port |
Default HTTP port for connecting to Elasticsearch. Ignored if the hostname includes the port. |
user |
Elasticsearch user. Must have superuser privilege on index. |
passwd |
Elasticsearch user password |
runas_geoserver_user |
Whether to submit requests on behalf of the authenticated GeoServer user |
proxy_user |
Elasticsearch user for document queries. If not provided then admin user credentials are used for all requests. |
proxy_passwd |
Elasticsearch proxy user password |
index_name |
Index name or alias (wildcards supported) |
reject_unauthorized |
Whether to validate the server certificate during the SSL handshake for https connections |
default_max_features |
Default used when maxFeatures is unlimited |
response_buffer_limit |
Maximum number of bytes to buffer in memory when reading responses from Elasticsearch |
source_filtering_enabled |
Whether to enable filtering of the _source field |
scroll_enabled |
Enable the Elasticsearch scan and scroll API |
scroll_size |
Number of documents per shard when using the scroll API |
scroll_time |
Search context timeout when using the scroll API |
array_encoding |
Array encoding strategy. Allowed values are |
grid_size |
Hint for Geohash grid size (numRows*numCols) |
grid_threshold |
Geohash grid aggregation precision will be the minimum necessary so that actual_grid_size/grid_size > grid_threshold |
Example use:
Map map = new HashMap();
map.put(ElasticDataStoreFactory.HOSTNAME.key, "http://localhost:9200");
map.put(ElasticDataStoreFactory.INDEX_NAME.key, "status_s");