Binary field type
editBinary field type
editThe binary
type accepts a binary value as a
Base64 encoded string. The field is not
stored by default and is not searchable:
resp = client.indices.create( index="my-index-000001", mappings={ "properties": { "name": { "type": "text" }, "blob": { "type": "binary" } } }, ) print(resp) resp1 = client.index( index="my-index-000001", id="1", document={ "name": "Some binary blob", "blob": "U29tZSBiaW5hcnkgYmxvYg==" }, ) print(resp1)
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
const response = await client.indices.create({ index: "my-index-000001", mappings: { properties: { name: { type: "text", }, blob: { type: "binary", }, }, }, }); console.log(response); const response1 = await client.index({ index: "my-index-000001", id: 1, document: { name: "Some binary blob", blob: "U29tZSBiaW5hcnkgYmxvYg==", }, }); console.log(response1);
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
fields
editThe 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
editSynthetic _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:
resp = client.indices.create( index="idx", mappings={ "_source": { "mode": "synthetic" }, "properties": { "binary": { "type": "binary", "doc_values": True } } }, ) print(resp) resp1 = client.index( index="idx", id="1", document={ "binary": [ "IAA=", "EAA=" ] }, ) print(resp1)
response = client.indices.create( index: 'idx', body: { mappings: { _source: { mode: 'synthetic' }, properties: { binary: { type: 'binary', doc_values: true } } } } ) puts response response = client.index( index: 'idx', id: 1, body: { binary: [ 'IAA=', 'EAA=' ] } ) puts response
const response = await client.indices.create({ index: "idx", mappings: { _source: { mode: "synthetic", }, properties: { binary: { type: "binary", doc_values: true, }, }, }, }); console.log(response); const response1 = await client.index({ index: "idx", id: 1, document: { binary: ["IAA=", "EAA="], }, }); console.log(response1);
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="] }