Skip to main content

Config Generator

Give the generator a CSV (upload a file, paste rows, or press Load example) and it produces a starter for every configuration file Overture derives from your data:

  • an Elasticsearch or OpenSearch index mapping
  • the four Arranger configs: base.json, extended.json, table.json, and facets.json
  • a Lectern dictionary
  • a Postgres table definition

Treat the output as a starting point, not a finished config: types are inferred from a sample of your values, so review them and add descriptions and validation before production. Switch between the tabs to review each file, then copy or download it. For the field-by-field walkthrough, see Index Mappings and Customizing the Data Portal.

Config Generator

Turn a CSV into a full set of starter configs (index mapping, Arranger configs, Lectern dictionary, and Postgres table), entirely in your browser.

1. Provide CSV data

2. Configure options

Working with hierarchical data

The generator treats your CSV as a single table, producing one schema, one index mapping, and one Postgres table. It does not infer relationships between files, so it is a per-table starting point, not a whole data model.

Overture data can span several related entities. Clinical data, for example, is a hierarchy: a donor has many specimens, each specimen has many samples, plus diagnoses and treatments. Rather than flattening that into one wide CSV, model it as related tables:

  1. Split it into one CSV per entity (donor.csv, specimen.csv, sample.csv), each with its own identifier column and a column holding its parent's identifier (specimen.csv carries a donor_id).
  2. Run the generator once per file for a starting schema, mapping, and table.
  3. Join them by hand: collect the schemas into one Lectern dictionary, mark each entity's identifier as its uniqueKey and each child's parent column as a foreignKey, then add the matching primary and foreign keys in Postgres.

See Building Dictionaries for how uniqueKey and foreignKey express these relationships.