Bird
Raised Fist0
Elasticsearchquery~5 mins

Boolean and binary types in Elasticsearch - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is the Boolean type in Elasticsearch?
The Boolean type in Elasticsearch stores true or false values. It is used to represent binary states like yes/no or on/off.
Click to reveal answer
beginner
How do you define a Boolean field in an Elasticsearch mapping?
You define a Boolean field by setting its type to "boolean" in the mapping, for example:
{ "properties": { "my_field": { "type": "boolean" } } }
Click to reveal answer
intermediate
What is the Binary type used for in Elasticsearch?
The Binary type stores binary data encoded as Base64 strings. It is useful for storing small files or encoded data directly in documents.
Click to reveal answer
intermediate
How do you store binary data in Elasticsearch?
You store binary data by encoding it in Base64 and defining the field type as "binary" in the mapping, like:
{ "properties": { "file_data": { "type": "binary" } } }
Click to reveal answer
beginner
Can Boolean fields be used for filtering in Elasticsearch queries?
Yes, Boolean fields are commonly used in filters and queries to quickly match documents where the field is true or false.
Click to reveal answer
What values can a Boolean type field in Elasticsearch hold?
Aany number
BBase64 encoded data
Ctext strings
Dtrue or false
How should binary data be stored in Elasticsearch?
AEncoded in Base64 with type 'binary'
BAs integer arrays
CAs Boolean values
DAs plain text
Which Elasticsearch field type is best for storing true/false flags?
Atext
Bboolean
Cbinary
Dkeyword
What encoding is required for binary fields in Elasticsearch?
ABase64
BASCII
CUTF-8
DHexadecimal
Can Boolean fields be used in Elasticsearch filters?
AOnly binary fields can be filtered
BNo, only numeric fields can be filtered
CYes, Boolean fields are commonly filtered
DOnly text fields can be filtered
Explain how Boolean and binary types are used in Elasticsearch and how to define them in mappings.
Think about simple true/false flags and storing small files or encoded data.
You got /5 concepts.
    Describe the process and requirements for storing binary data in Elasticsearch documents.
    Focus on encoding and mapping type.
    You got /4 concepts.

      Practice

      (1/5)
      1. What type of data does the boolean type in Elasticsearch store?
      easy
      A. True or false values
      B. Text strings
      C. Numbers with decimals
      D. Base64 encoded files

      Solution

      1. Step 1: Understand the boolean type purpose

        The boolean type is designed to store values that represent true or false states.
      2. 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.
      3. Final Answer:

        True or false values -> Option A
      4. Quick Check:

        Boolean = true/false [OK]
      Hint: Boolean means true or false only [OK]
      Common Mistakes:
      • Confusing boolean with text or number types
      • Thinking boolean stores encoded files
      • Assuming boolean can hold multiple values
      2. Which of the following is the correct way to define a binary field in an Elasticsearch mapping?
      easy
      A. { "my_field": {"type": "text"} }
      B. { "my_field": {"type": "boolean"} }
      C. { "my_field": {"type": "binary"} }
      D. { "my_field": {"type": "integer"} }

      Solution

      1. Step 1: Identify the binary type syntax

        In Elasticsearch, a binary field is defined with "type": "binary" inside the mapping.
      2. Step 2: Check other options

        Options A, B, and D define other types (text, boolean, integer) which are not binary.
      3. Final Answer:

        { "my_field": {"type": "binary"} } -> Option C
      4. Quick Check:

        Binary type uses "type": "binary" [OK]
      Hint: Binary type always uses "type": "binary" in mapping [OK]
      Common Mistakes:
      • Using boolean or text instead of binary
      • Missing quotes around type name
      • Incorrect JSON structure
      3. Given this Elasticsearch document mapping and data:
      {
        "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?
      medium
      A. null
      B. true
      C. false
      D. "SGVsbG8gd29ybGQ="

      Solution

      1. Step 1: Understand the boolean field value

        The field "is_active" is boolean and set to true in the document.
      2. Step 2: Confirm retrieval value

        When retrieved, the boolean field returns the stored true value, not the binary data or null.
      3. Final Answer:

        true -> Option B
      4. Quick Check:

        Boolean field returns true/false as stored [OK]
      Hint: Boolean fields return true or false as stored [OK]
      Common Mistakes:
      • Confusing binary field value with boolean
      • Expecting base64 string for boolean field
      • Assuming null if not explicitly queried
      4. You have this Elasticsearch mapping snippet:
      {
        "properties": {
          "flag": {"type": "boolean"},
          "data": {"type": "binary"}
        }
      }

      Which of the following is a mistake that will cause an error when indexing a document?
      medium
      A. {"flag": "yes", "data": "dGVzdA=="}
      B. {"flag": true, "data": "dGVzdA=="}
      C. {"flag": false, "data": ""}
      D. {"flag": false, "data": "dGVzdA=="}

      Solution

      1. Step 1: Check boolean field value types

        The boolean field "flag" must be true or false, not strings like "yes".
      2. Step 2: Validate binary field values

        The binary field "data" expects base64 encoded strings, which "dGVzdA==" is valid for.
      3. Final Answer:

        {"flag": "yes", "data": "dGVzdA=="} -> Option A
      4. Quick Check:

        Boolean must be true/false, not string [OK]
      Hint: Boolean fields accept only true or false, not strings [OK]
      Common Mistakes:
      • Using string 'yes' or 'no' for boolean
      • Passing non-base64 strings to binary fields
      • Leaving binary field empty without quotes
      5. You want to store user profile pictures in Elasticsearch using the 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?
      hard
      A. { "mappings": { "properties": { "profile_pic": {"type": "text"}, "verified": {"type": "boolean"} } } } Document: { "profile_pic": "iVBORw0KGgoAAAANSUhEUgAAAAUA", "verified": "yes" }
      B. { "mappings": { "properties": { "profile_pic": {"type": "binary"}, "verified": {"type": "boolean"} } } } Document: { "profile_pic": "not_base64_data", "verified": true }
      C. { "mappings": { "properties": { "profile_pic": {"type": "binary"}, "verified": {"type": "text"} } } } Document: { "profile_pic": "iVBORw0KGgoAAAANSUhEUgAAAAUA", "verified": false }
      D. { "mappings": { "properties": { "profile_pic": {"type": "binary"}, "verified": {"type": "boolean"} } } } Document: { "profile_pic": "iVBORw0KGgoAAAANSUhEUgAAAAUA", "verified": true }

      Solution

      1. 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.
      2. 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.
      3. 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.
      4. Final Answer:

        Mapping and document with binary and boolean types correctly used -> Option D
      5. Quick Check:

        Binary = base64, Boolean = true/false [OK]
      Hint: Binary needs base64 data; boolean must be true or false [OK]
      Common Mistakes:
      • Using text type for binary data
      • Passing non-base64 strings to binary fields
      • Using strings like 'yes' for boolean fields
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard