ADO.NET Provider for Elasticsearch

Build 20.0.7654


The CData ADO.NET Provider for Elasticsearch can be configured to create a relational model of the data, treating nested documents as individual tables containing a primary key and a foreign key that links to the parent document. This is particularly useful if you need to work with your Elasticsearch data in existing BI, reporting, and ETL tools that expect a relational data model.

Joining Nested Arrays as Tables

With DataModel set to "Relational", any JOINs are controlled by the query. Any time you perform a JOIN query, the Elasticsearch index will be queried once for each table (nested document) included in the query.


Below is a sample query against the sample document in 生データ, using a relational model.


The following query explicitly JOINs the insured and vehiclestables.

  [insured].[address.street] AS address_street, 
  [insured].[] AS address_city, 
  [insured].[address.state.last] AS address_state, 
  [insured].[_id] = [vehicles].[_insured_id]


In the example query, each vehicle document is JOINed to its parent insured object to produce a table with 5 rows.

1John SmithMain StreetChapel HillNC[ 17, 43, 45 ]2015DodgeRAM 1500TK11
1John SmithMain StreetChapel HillNC[ 17, 43, 45 ]2015SuzukiV-Strom 650 XTMC12
1John SmithMain StreetChapel HillNC[ 17, 43, 45 ]1992Harley DavidsonFXRMC13
2Joseph NewmanOak StreetRaleighNC[ 23, 25 ]2010HondaAccordSD24
2Joseph NewmanOak StreetRaleighNC[ 23, 25 ]2008HondaCivicCP25

See Also

  • 自動スキーマ検出: Configure the columns reported in the table schemas.
  • FreeForm;: Use dot notation to select nested data.
  • VerticalFlattening;: Access nested object arrays as separate tables.
  • JSON 関数: Manipulate the data returned to perform client-side aggregation and transformations.

Copyright (c) 2020 CData Software, Inc. - All rights reserved.
Build 20.0.7654