You can set up Elasticsearch connections in Logi JReport catalogs to get data from Elasticsearch data sources. An Elasticsearch connection contains relational data which is transformed from an Elasticsearch data source.
Logi JReport Designer gets data from Elasticsearch data sources in the same way as it gets data from JSON data sources.
Below is a list of the sections covered in this topic:
- Setting Up Elasticsearch Connections in a Catalog
- Adding More Tables to an Elasticsearch Connection
- Managing the Tables in an Elasticsearch Connection
To set up an Elasticsearch connection to connect a Logi JReport catalog to an Elasticsearch data source, follow the steps below:
- Create a catalog or open a catalog.
- In the Catalog Manager, right-click the node of a data source and choose New Elasticsearch Connection from the shortcut menu.
If you want to set up the connection in a new data source in the catalog, select any of the existing catalog data sources, select New Data Source on the Catalog Manager toolbar, then in the New Data source dialog, specify the name of the data source, select the Elasticsearch connection type and select OK.
The Elasticsearch Data Source Options dialog appears.
- Specify the URL, user name and password with which to connect to the Elasticsearch data source.
- To get data from the Elasticsearch data source by the request body, check Use Request Body Search and specify the request body.
Parameters and constant level formulas predefined in the catalog data source in which the Elasticsearch connection is created, as well as the special field User Name can be used in the URL and the request body in the same way as in aggregation pipeline expressions.
- To get data from the Elasticsearch data source by the scroll API, check Scroll and specify how long the scroll API will keep the search context alive. For details about the scroll API, refer to https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-scroll.html.
- When parameters and formulas are referenced in the URL or request body, select the Edit Format button to edit the format of their values if needed.
- Select OK. The Elasticsearch Connection Wizard appears.
- In the Modify Schema Properties screen, the elements in the Elasticsearch schema are listed in the Schema box. Select an element and modify its properties in the Properties box if required. Select Next.
- In the Transformed Relational Schema screen, the relational tables built based on the transformed relational schema structure are listed. Check the transformed result listed in the Transformed Tables box, and then select Next.
- In the Add Table screen, add the required tables to the connection.
- Select Finish to confirm the transformed result and complete the transformation process.
When an Elasticsearch connection is set up, you can add more tables transformed from the Elasticsearch data source into the Logi JReport catalog via the Elasticsearch connection.
- Do one of the following:
- Right-click the Elasticsearch connection and select Add Tables from the shortcut menu.
- Right-click the Tables node of the Elasticsearch connection and select Add Tables from the shortcut menu.
- Right-click an existing table in the Elasticsearch connection if there is and select Add Tables from the shortcut menu.
- Right-click any folder in the Tables node of the Elasticsearch connection if you have already created some and select Add Tables from the shortcut menu.
- Select the Tables node of the Elasticsearch connection, or any existing table or folder in the connection and select Add Tables on the Catalog Manager toolbar.
The Add Tables dialog appears.
- Select the Refresh button. The tables contained in the schema that is transformed from the Elasticsearch data source will then be displayed in the Tables box.
- Choose the required tables in the Tables box and select Add.
To choose consecutive tables, select the first table, press and hold down the SHIFT key, and then select the last table. To choose tables that are not consecutive, press and hold down CTRL, and then select each table.
- After adding the required tables, select Done to close the dialog.
For the tables that have been transformed from an Elasticsearch data source and added into a Logi JReport catalog via the specified Elasticsearch connection, you can refresh them, organize them into folders, and remove and add the table columns the same as you do on tables from a JDBC database.