Zoomdata Version

Connecting to Elasticsearch


Cluster/Index Privileges

If the Elasticsearch data source uses Shield, in order to work with Zoomdata, you need to configure the privileges listed below (based on the user that is connecting to the Elasticsearch cluster). Keep in mind that Zoomdata supports Shield only for HTTP protocol.

  • Minimal privileges to access the Elasticsearch cluster: ' Monitor ' privileges
  • In order to access the Elasticsearch index:
    • ' All ' or ' Manage ' privileges (to allow Zoomdata to retrieve the metadata)
    • ' Read ' privileges (for Zoomdata to read the data)

Distinct Count and Percentiles

Distinct count and percentiles metrics return approximate values in Elastic Search. Precision of the result returned by distinct count metric depends on precision threshold setting (default value is 1000).

You can change the value of precision threshold by setting the elasticsearch.query.cardinality.precision.threshold property in zoomdata.properties file.

Refer to Elastic Search documentation for more information on percentiles and distinct count .

The table below lists all available properties that you can modify to work with Elastic Search.

Property Default Value Use the property to Notes
elasticsearch.query.cardinality.precision.threshold 1000 control the level of accuracy of the distinct counts The maximum supported value is 40000. However, Zoomdata does not recommend to set such value as it may result in performance issues and the data source itself may return errors. For more info, refer to the Precision Control section by Elastic Search.
elasticsearch.query.limit.nongrouped 10000 set the limit for the number of non grouped records (per shard) to execute on.
elasticsearch.query.limit.grouped 10000 set the limit for the number of grouped records (per shard) to execute on.

If you need to change the default settings, you can add the corresponding properties (listed above) to the zoomdata.properties file and assign the required values. For more details about working with the zoomdata.properties file, refer to the article Managing Configurations in Zoomdata .


Please note that, at this time, Zoomdata does not support ElasticSearch v2.0 or later versions. This article will be updated once this limitation is addressed.


The Zoomdata Server supports Elastic Search v1.4.x - v.1.7.x. Keep in mind that Elastic Search, by default, tokenizes or analyzes 'Fields' that are of type 'string' (or attribute). As a result, strings consisting of two or more words may become separates fields when connected to Zoomdata (for example, city names like Las Vegas). To disable this process and ensure that a string field is not tokenized, enter the following code for that field:

index: "not analyzed"


City: {
type: "string"
index: "not_analyzed"

To configure the Elastic Search Connector, perform the following steps:

  1. Log into Zoomdata.
    Administrators and users with appropriate access privileges can connect data sources in Zoomdata.
  2. Click the Sources menu item.

Figure 1

  1. Click the Elastic Search icon.
  2. Specify the name of your source and add a description (if desired). Click Next .

Figure 2

  1. On the Connection page, define your connection source. You can select an existing connection, if available, or create a new one.

    To create a new connection, select the Input new credentials option button and specify the connection name and ElasticSearch host.

    Both these fields must be completed before you can continue. You can also enter the ElasticSearch cluster name, select the client type, and specify the port number.

Figure 3

  1. Click Validate . Validated credentials will be saved. Click Next .

  2. On the Indices page, select the data collection to use for your charts. Select the schema for your data collection. Use the search to find the required data source.
    Enable or disable caching and lookup values for your data source.

Figure 4

  1. Click Next .

  2. On the Fields page, create unique label names for the available fields in your data source. These labels will be displayed in the charts. Specify the label names, as needed, for each Label field. You can also make the necessary changes in the Type and Default fields. If you want to perform a search by a word or phrase on your chart, select a checkbox in the Faceted filter column for the corresponding field, select the checkboxes in the Distinct Count column. Configure Filter Display settings for the required fields. Click Next .

Figure 5

  1. On the Refresh page, you can schedule asynchronous jobs to refresh fields in your data source. Refer to Using the Zoomdata Scheduler article for more information.
  2. On the Charts page, you can enable the charts that will be available for the data source and edit the settings for your charts.
    That is, select the styles that will be available for the data source, change the global default settings, and more.
    Learn more about how to customize a chart.
    Click Finish to save your changes.