The Open API specification for Synapse is now available for download!

Download Open API Spec

SearchIndex

org.sagebionetworks.repo.model.search.table.SearchIndex

A Synapse entity that materializes an OpenSearch index from a SQL view of a table-like entity. The definingSQL picks the columns and rows to index; the SearchConfiguration (either pointed at directly via searchConfigurationId or inherited from an ancestor binding) controls analyzers and synonyms. Once built, the index supports full-text search, faceted search, and autocomplete via the search endpoints on the SearchManagementController.

Per-column ignore_above limit at index-build time — values longer than this on a given field are NOT indexed for exact match or sort, but remain stored in the source document:

Synapse column typeignore_above (keyword sub-field)
STRING, STRING_LIST, LINK1,000 chars
MEDIUMTEXT100,000 chars
LARGETEXT8,192 chars
ENTITYID, USERID, ENTITYID_LIST, USERID_LIST256 chars
INTEGER, DATE, INTEGER_LIST, DATE_LIST, FILEHANDLEID, SUBMISSIONID, EVALUATIONID, DOUBLE, BOOLEAN, BOOLEAN_LIST, JSONn/a

Maximum 500,000 indexed rows per SearchIndex.

Field Type Description
name STRING The name of this entity. Must be 256 characters or less. Names may only contain: letters, numbers, spaces, underscores, hyphens, periods, plus signs, apostrophes, and parentheses
description STRING The description of this entity. Must be 1000 characters or less.
id STRING The unique immutable ID for this entity. A new ID will be generated for new Entities. Once issued, this ID is guaranteed to never change or be re-issued
etag STRING Synapse employs an Optimistic Concurrency Control (OCC) scheme to handle concurrent updates. Since the E-Tag changes every time an entity is updated it is used to detect when a client's current representation of an entity is out-of-date.
createdOn STRING The date this entity was created.
modifiedOn STRING The date this entity was last modified.
createdBy STRING The ID of the user that created this entity.
modifiedBy STRING The ID of the user that last modified this entity.
parentId STRING The ID of the Entity that is the parent of this Entity.
concreteType STRING Indicates which implementation of Entity this object represents. The value is the fully qualified class name, e.g. org.sagebionetworks.repo.model.FileEntity.
definingSQL STRING The Synapse SQL statement that defines which columns and rows are indexed. Must reference exactly one entity (multi-entity JOINs are not supported). Each SELECT-list column becomes a field in the index — including literals and aliased expressions, which get a real ColumnModel id and behave as first-class columns.
searchConfigurationId STRING Optional. ID of the SearchConfiguration to apply when building this index. If omitted, the build walks up the entity hierarchy (entity → folder → project) looking for the closest SearchConfigBinding; if none is found, platform defaults are used.