Siren Platform User Guide

Operations on virtual indices

The plugin supports the following operations on virtual indices:

  • get mapping
  • get field capabilities
  • search
  • msearch
  • get
  • mget

Search requests involving a mixture of virtual and normal Elasticsearch indices (e.g. when using a wildcard) are not supported and will be rejected; it is however possible to issue msearch requests containing requests on normal Elasticsearch indices and virtual indices.

When creating a virtual index, the plugin will create an empty Elasticsearch index for interoperability with Search Guard and Elastic X-Pack; if an Elasticsearch index with the same name as the virtual index already exists and it is not empty, the virtual index creation will fail.

When deleting a virtual index, the corresponding Elasticsearch index will not be removed.

Type conversion

The plugin converts JDBC types to their closest Elasticsearch equivalent:

  • String types are handled as keyword fields.
  • Boolean types are handled as boolean fields.
  • Date and timestamp are handled as date fields.
  • Integer types are handled as long fields.
  • Floating point types are handled as double fields.

Complex JDBC types which are not recognized by the plugin are skipped during query processing and resultset fetching.

Supported search queries

The plugin supports the following queries:

  • match_all
  • term
  • terms
  • range
  • exists
  • prefix
  • wildcard
  • ids
  • bool

At this time the plugin provides no support for datasource specific full text search functions, so all these queries will work as if they were issued against keyword fields.

Supported aggregations

Currently the plugin provides support for the following aggregations:

Metric:

  • Average
  • Cardinality
  • Max
  • Min
  • Sum

Bucket:

  • Date histogram
  • Histogram
  • Date range
  • Range
  • Terms
  • Filters

Only terms aggregations can be nested inside a parent bucket aggregation.