Search & query
Quilt provides support for queries in the ElasticSearch DSL, as well as SQL queries in Athena.


The objects in S3 buckets connected to Quilt are synchronized to an ElasticSearch cluster, which provides Quilt's search features. For custom queries, you can use the Queries tab in the Quilt catalog to directly query ElasticSearch cluster.
Quilt uses ElasticsSearch 6.7 (docs).


Quilt maintains a near-realtime index of the objects in your S3 bucket in ElasticSearch. Each bucket corresponds to one or more ElasticSearch indexes. As objects are mutated in S3, Quilt uses an event-driven system (via SNS and SQS) to update ElasticSearch.
There are two types of indexing in Quilt:
  • shallow indexing includes object metadata (such as the file name and size)
  • deep indexing includes object contents. Quilt supports deep indexing for the following file extensions:
    • .fcs (FlowJo)
    • .ipynb (Jupyter notebooks)
    • .parquet
    • .pdf
    • .html, .txt, .tsv, .csv, .md (plus many other plain-text formats)
    • .xls, .xlsx
    • .pptx


Quilt ElasticSearch queries support the following keys:
  • index — comma-separated list of indexes to search (learn more)
  • filter_path — to reducing response nesting, (learn more)
  • _source — boolean that adds or removes the _source field, or a list of fields to return (learn more)
  • size — limits the number of hits (learn more)
  • from — starting offset for pagination (learn more)
  • body — the search query body as a JSON dictionary (learn more)
Saved queries
You can provide pre-canned queries for your users by providing a configuration file at s3://YOUR_BUCKET/.quilt/queries/config.yaml:
version: "1"
name: My first query
description: Optional description
url: s3://BUCKET/.quilt/queries/query-1.json
name: Second query
url: s3://BUCKET/.quilt/queries/query-2.json
The Quilt catalog displays your saved queries in a drop-down for your users to select, edit, and execute.


You can park reusable Athena Queries in the Quilt catalog so that your users can run them. You must first set up you an Athena workgroup and Saved queries per AWS's Athena documentation.


You can hide the "Queries" tab by setting ui > nav > queries: false (learn more).


"Run query" executes the selected query and waits for the result.
Copy link
On this page