Overview
Arranger is a versatile, model-agnostic data discovery API for OpenSearch and Elasticsearch, designed to simplify building search interfaces for complex datasets. A React component library is available for generating interactive search UIs.
Arranger supports OpenSearch 1.x or higher and Elasticsearch 7.x (minimum 7.0, licensed/default distribution only; ES OSS and ES 8.x are not supported; the bundled client is @elastic/elasticsearch v7).
OpenSearch maintains API compatibility with Elasticsearch 7.x, so query syntax and conventions documented here apply to both engines.
Key Features
- Configurable Search UI: Provides a suite of customizable search interface components based on Elasticsearch index mappings, easily tailored to fit specific data structures and user needs without extensive manual coding.
- GraphQL API: Arranger Server generates a GraphQL API from Elasticsearch mappings, offering:
- Efficient data retrieval
- Adaptable structure
- SQON integration for human-readable and machine-processable search queries
- Model-Agnostic: Works with any properly structured OpenSearch or Elasticsearch index.
- Integration-Ready: The search API integrates with any web front end; a React component library is included for building search UIs.
- Federated Search: One query can report aggregate counts across several independently operated Arranger servers. Each site keeps its own index and records; only counts cross the wire. See Federated search.
System Architecture
Arranger integrates with your OpenSearch or Elasticsearch cluster to generate a search API from your configured index mapping. It consists of two main modules:
-
Arranger Server: The back-end search API service that:
- Generates a GraphQL API from Elasticsearch mappings
- Acts as middleware between the UI and Elasticsearch
- Simplifies querying and filtering using Serializable Query Object Notation (SQON)
- Provides an intermediary layer to avoid direct interaction with complex Elasticsearch queries
-
Arranger Components: A library of React components for building interactive search UIs, communicating with Arranger Server to fetch and display data.
As part of the larger Overture.bio software suite, Arranger typically integrates with other services:
- Elasticsearch: The underlying search and analytics engine (created and maintained by Elastic) that Arranger interfaces with to provide powerful search capabilities.
- Stage: The React-based web portal scaffolding that provides the overall structure and layout, within which Arranger components are rendered to create a cohesive and interactive data exploration interface.

The Arranger Components image above highlights three key features:
- Faceted Search (Red): Allow users to filter data using multiple dimensions.
- Data Tables (Blue): Display search results in a customizable, interactive table format.
- SQON Viewers (Yellow): Visualize and manage complex search queries.
Repository Structure
The Arranger repository can be accessed from our Overture-Stack GitHub page located here.
arranger/
├── apps/