Binary field typeedit
The binary
type accepts a binary value as a
Base64 encoded string. The field is not
stored by default and is not searchable:
response = client.indices.create( index: 'my-index-000001', body: { mappings: { properties: { name: { type: 'text' }, blob: { type: 'binary' } } } } ) puts response response = client.index( index: 'my-index-000001', id: 1, body: { name: 'Some binary blob', blob: 'U29tZSBiaW5hcnkgYmxvYg==' } ) puts response
PUT my-index-000001 { "mappings": { "properties": { "name": { "type": "text" }, "blob": { "type": "binary" } } } } PUT my-index-000001/_doc/1 { "name": "Some binary blob", "blob": "U29tZSBiaW5hcnkgYmxvYg==" }
Parameters for binary
fieldsedit
The following parameters are accepted by binary
fields:
Should the field be stored on disk in a column-stride fashion, so that it
can later be used for sorting, aggregations, or scripting? Accepts |
|
Whether the field value should be stored and retrievable separately from
the |
Synthetic _source
edit
Synthetic _source
is Generally Available only for TSDB indices
(indices that have index.mode
set to time_series
). For other indices
synthetic _source
is in technical preview. Features in technical preview may
be changed or removed in a future release. Elastic will work to fix
any issues, but features in technical preview are not subject to the support SLA
of official GA features.
binary
fields support synthetic _source
only when doc_values
are enabled. Synthetic source always sorts binary
values in order of their byte representation. For example:
PUT idx { "mappings": { "_source": { "mode": "synthetic" }, "properties": { "binary": { "type": "binary", "doc_values": true } } } } PUT idx/_doc/1 { "binary": ["IAA=", "EAA="] }
Will become:
{ "binary": ["EAA=", "IAA="] }