Binary field type
The binary
type accepts a binary value as a Base64 encoded string. The field is not stored by default and is not searchable:
PUT my-index-000001
{
"mappings": {
"properties": {
"name": {
"type": "text"
},
"blob": {
"type": "binary"
}
}
}
}
PUT my-index-000001/_doc/1
{
"name": "Some binary blob",
"blob": "U29tZSBiaW5hcnkgYmxvYg==" 1
}
- The Base64 encoded binary value must not have embedded newlines
\n
.
The following parameters are accepted by binary
fields:
doc_values
- 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
true
orfalse
(default). This parameter will be automatically set totrue
for TSDB indices (indices that haveindex.mode
set totime_series
). store
- Whether the field value should be stored and retrievable separately from the
_source
field. Acceptstrue
orfalse
(default).
Important
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.
Synthetic source may sort binary
values in order of their byte representation. For example:
PUT idx
{
"settings": {
"index": {
"mapping": {
"source": {
"mode": "synthetic"
}
}
}
},
"mappings": {
"properties": {
"binary": { "type": "binary", "doc_values": true }
}
}
}
PUT idx/_doc/1
{
"binary": ["IAA=", "EAA="]
}
Will become:
{
"binary": ["EAA=", "IAA="]
}