Boolean and binary types help store simple true/false values and raw data in Elasticsearch. They make searching and filtering data easier and faster.
Boolean and binary types in Elasticsearch
PUT /my_index
{
"mappings": {
"properties": {
"is_active": { "type": "boolean" },
"file_data": { "type": "binary" }
}
}
}The boolean type stores true or false values.
The binary type stores base64 encoded data, like files or images.
email_verified that stores true or false values.PUT /users
{
"mappings": {
"properties": {
"email_verified": { "type": "boolean" }
}
}
}attachment to store raw file data encoded in base64.PUT /documents
{
"mappings": {
"properties": {
"attachment": { "type": "binary" }
}
}
}This program creates an index with boolean and binary fields, adds a document with true and base64 data, then searches for documents where is_published is true.
PUT /example_index
{
"mappings": {
"properties": {
"is_published": { "type": "boolean" },
"image_data": { "type": "binary" }
}
}
}
POST /example_index/_doc/1
{
"is_published": true,
"image_data": "iVBORw0KGgoAAAANSUhEUgAAAAUA"
}
GET /example_index/_search
{
"query": {
"term": { "is_published": true }
}
}Boolean fields accept only true or false values, no other types.
Binary fields must be base64 encoded before storing.
Binary data is not searchable but can be retrieved and decoded.
Boolean type stores true/false values for easy filtering.
Binary type stores raw data encoded in base64, like files or images.
Use these types to organize and search your data efficiently in Elasticsearch.
Practice
boolean type in Elasticsearch store?Solution
Step 1: Understand the boolean type purpose
The boolean type is designed to store values that represent true or false states.Step 2: Compare with other data types
Text strings, numbers, and base64 encoded files are stored in different types like text, float, or binary, not boolean.Final Answer:
True or false values -> Option AQuick Check:
Boolean = true/false [OK]
- Confusing boolean with text or number types
- Thinking boolean stores encoded files
- Assuming boolean can hold multiple values
binary field in an Elasticsearch mapping?Solution
Step 1: Identify the binary type syntax
In Elasticsearch, a binary field is defined with "type": "binary" inside the mapping.Step 2: Check other options
Options A, B, and D define other types (text, boolean, integer) which are not binary.Final Answer:
{ "my_field": {"type": "binary"} } -> Option CQuick Check:
Binary type uses "type": "binary" [OK]
- Using boolean or text instead of binary
- Missing quotes around type name
- Incorrect JSON structure
{
"mappings": {
"properties": {
"is_active": {"type": "boolean"},
"file_data": {"type": "binary"}
}
}
}
Document:
{
"is_active": true,
"file_data": "SGVsbG8gd29ybGQ="
}What will be the value of
is_active when retrieved?Solution
Step 1: Understand the boolean field value
The field "is_active" is boolean and set to true in the document.Step 2: Confirm retrieval value
When retrieved, the boolean field returns the stored true value, not the binary data or null.Final Answer:
true -> Option BQuick Check:
Boolean field returns true/false as stored [OK]
- Confusing binary field value with boolean
- Expecting base64 string for boolean field
- Assuming null if not explicitly queried
{
"properties": {
"flag": {"type": "boolean"},
"data": {"type": "binary"}
}
}Which of the following is a mistake that will cause an error when indexing a document?
Solution
Step 1: Check boolean field value types
The boolean field "flag" must be true or false, not strings like "yes".Step 2: Validate binary field values
The binary field "data" expects base64 encoded strings, which "dGVzdA==" is valid for.Final Answer:
{"flag": "yes", "data": "dGVzdA=="} -> Option AQuick Check:
Boolean must be true/false, not string [OK]
- Using string 'yes' or 'no' for boolean
- Passing non-base64 strings to binary fields
- Leaving binary field empty without quotes
binary type and also keep a flag if the user is verified using boolean. Which of the following mapping and document pairs is correct and efficient?Solution
Step 1: Check mapping types for fields
The profile picture should be stored as binary type with base64 data, and verified as boolean true/false.Step 2: Validate document values
{ "mappings": { "properties": { "profile_pic": {"type": "binary"}, "verified": {"type": "boolean"} } } } Document: { "profile_pic": "iVBORw0KGgoAAAANSUhEUgAAAAUA", "verified": true } uses binary type with base64 string and boolean true, which is correct and efficient.Step 3: Identify errors in other options
{ "mappings": { "properties": { "profile_pic": {"type": "text"}, "verified": {"type": "boolean"} } } } Document: { "profile_pic": "iVBORw0KGgoAAAANSUhEUgAAAAUA", "verified": "yes" } uses text for binary and string "yes" for boolean, which is incorrect.
{ "mappings": { "properties": { "profile_pic": {"type": "binary"}, "verified": {"type": "text"} } } } Document: { "profile_pic": "iVBORw0KGgoAAAANSUhEUgAAAAUA", "verified": false } uses text for boolean field.
{ "mappings": { "properties": { "profile_pic": {"type": "binary"}, "verified": {"type": "boolean"} } } } Document: { "profile_pic": "not_base64_data", "verified": true } has invalid base64 data for binary field.Final Answer:
Mapping and document with binary and boolean types correctly used -> Option DQuick Check:
Binary = base64, Boolean = true/false [OK]
- Using text type for binary data
- Passing non-base64 strings to binary fields
- Using strings like 'yes' for boolean fields
Ready to prove it?
Pass the test and this pattern moves unknown
