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, andfacets.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:
- 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.csvcarries adonor_id). - Run the generator once per file for a starting schema, mapping, and table.
- Join them by hand: collect the schemas into one Lectern dictionary, mark each entity's identifier as its
uniqueKeyand each child's parent column as aforeignKey, then add the matching primary and foreign keys in Postgres.
See Building Dictionaries for how uniqueKey and foreignKey express these relationships.