Virtual index API
In this section we present the API available to interact with the virtual indices.
Virtual index management
Virtual index creation and modification
A virtual index with a specific id
can be updated by issuing a PUT
request as follows:
PUT /_siren/connector/index/<id> { "datasource": "ds", "catalog": "catalog", "schema": "schema", "resource": "table", "key": "id", "search_fields": [ { "function": "LIKE", "field": "NAME" } ] }
The id of a virtual index must be a valid lowercase Elasticsearch index name; it is recommended to start virtual indices with a common prefix to simplify handling of permissions.
Body parameters:
-
datasource
: the id of an existing datasource. -
resource
: the name of a table or view on the remote datasource. -
key
: the name of a unique column; if a virtual index has no primary key it will be possible to perform aggregations, however queries that expect a reproducible unique identifier will not be possible. -
catalog
andschema
: the catalog and schema containing the table specified in theresource
parameter; these are usually required only if the connection does not specify a default catalog or schema. -
search_fields
: An optional list of field names that will be searched using the LIKE operator when processing queries. Currently only the LIKE function is supported.
Virtual index deletion
To delete a virtual index, issue a DELETE
request as follows:
DELETE /_siren/connector/index/<id>
When a virtual index is deleted, the corresponding concrete index is not deleted automatically.
Virtual index listing
To list the virtual indices configured in the system, issue a GET
request as follows:
GET /_siren/connector/index/_search