Bird
Raised Fist0
Elasticsearchquery~20 mins

Elasticsearch vs relational databases - Practice Questions

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Elasticsearch vs Relational Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
Elasticsearch Query Result Count
Given the following Elasticsearch query on an index with 100 documents, 30 of which have the field status set to active, what is the total hits count returned by this query?
Elasticsearch
{
  "query": {
    "term": { "status": "active" }
  }
}
A70
B30
C0
D100
Attempts:
2 left
💡 Hint
The term query matches documents where the field exactly matches the given value.
🧠 Conceptual
intermediate
2:00remaining
Data Model Differences
Which statement best describes a key difference between Elasticsearch and relational databases in how they store data?
AElasticsearch stores data as JSON documents optimized for search, while relational databases store data in tables with fixed schemas.
BElasticsearch uses tables and rows like relational databases but adds full-text search capabilities.
CBoth Elasticsearch and relational databases store data as key-value pairs without schemas.
DRelational databases store data as JSON documents, while Elasticsearch uses fixed schemas with tables.
Attempts:
2 left
💡 Hint
Think about how flexible the data format is in each system.
🔧 Debug
advanced
2:00remaining
Why Does This Elasticsearch Query Fail?
Consider this Elasticsearch query that tries to filter documents where age is greater than 30: { "query": { "range": { "age": { "gt": 30 } } } } Which option explains why this query might fail or return no results if age is stored as a text field in Elasticsearch?
ARange queries require numeric fields; if <code>age</code> is text, the query will not work as expected.
BElasticsearch does not support range queries on any field type.
CThe syntax of the range query is incorrect; it should use <code>greater_than</code> instead of <code>gt</code>.
DThe query is missing a <code>filter</code> wrapper around the range clause.
Attempts:
2 left
💡 Hint
Check the data type requirements for range queries in Elasticsearch.
❓ Predict Output
advanced
2:00remaining
Relational Database Join vs Elasticsearch Nested Query
In a relational database, joining two tables returns combined rows. Which Elasticsearch query type best mimics this behavior for nested objects within documents?
ARange query
BTerm query
CMatch all query
DNested query
Attempts:
2 left
💡 Hint
Think about how Elasticsearch handles arrays of objects inside documents.
🚀 Application
expert
2:00remaining
Choosing Between Elasticsearch and Relational Databases
You need to build a system that supports complex transactions, strong data consistency, and structured reporting. Which database type is generally more suitable for this use case?
AElasticsearch, because it is optimized for complex transactions.
BElasticsearch, because it provides fast full-text search and flexible schemas.
CRelational databases, because they support ACID transactions and structured schemas.
DNeither, a NoSQL key-value store is better for transactions.
Attempts:
2 left
💡 Hint
Consider which system guarantees strong consistency and transactional support.

Practice

(1/5)
1. Which of the following best describes the main use case for Elasticsearch compared to relational databases?
easy
A. Elasticsearch is optimized for fast full-text search and analytics.
B. Elasticsearch is mainly used for storing structured transactional data.
C. Elasticsearch uses SQL to manage complex relationships between tables.
D. Elasticsearch is designed for batch processing of large datasets only.

Solution

  1. Step 1: Understand Elasticsearch's purpose

    Elasticsearch is built for fast full-text search and analytics on large volumes of data.
  2. Step 2: Compare with relational databases

    Relational databases focus on structured data and transactional integrity, not optimized for text search.
  3. Final Answer:

    Elasticsearch is optimized for fast full-text search and analytics. -> Option A
  4. Quick Check:

    Elasticsearch = fast text search [OK]
Hint: Elasticsearch = search and analytics, relational = structured data [OK]
Common Mistakes:
  • Confusing Elasticsearch with relational database transactional features
  • Thinking Elasticsearch uses SQL for queries
  • Assuming Elasticsearch is only for batch processing
2. Which query language is primarily used to interact with relational databases?
easy
A. XPath
B. JSON Query DSL
C. SQL
D. GraphQL

Solution

  1. Step 1: Identify relational database query language

    Relational databases use SQL (Structured Query Language) to manage and query data.
  2. Step 2: Compare other options

    JSON Query DSL is for Elasticsearch, XPath is for XML, GraphQL is a query language for APIs.
  3. Final Answer:

    SQL -> Option C
  4. Quick Check:

    Relational DBs use SQL [OK]
Hint: Relational DBs use SQL, Elasticsearch uses JSON DSL [OK]
Common Mistakes:
  • Confusing JSON Query DSL with SQL
  • Thinking XPath or GraphQL are used for relational databases
  • Mixing query languages between technologies
3. Given the following Elasticsearch query snippet, what is the main purpose of this query?
{"query": {"match": {"title": "Elasticsearch"}}}
medium
A. Update documents with the title 'Elasticsearch'.
B. Create a new document with title 'Elasticsearch'.
C. Delete documents where the title is exactly 'Elasticsearch'.
D. Retrieve documents where the title field contains the word 'Elasticsearch'.

Solution

  1. Step 1: Analyze the query structure

    The query uses "match" on the "title" field with the term "Elasticsearch" which searches for documents containing that word.
  2. Step 2: Understand Elasticsearch query actions

    Queries retrieve data; update, delete, and create require different API calls.
  3. Final Answer:

    Retrieve documents where the title field contains the word 'Elasticsearch'. -> Option D
  4. Quick Check:

    Match query = search documents [OK]
Hint: "match" queries search text fields in Elasticsearch [OK]
Common Mistakes:
  • Thinking the query modifies data instead of searching
  • Confusing match with exact match or update operations
  • Assuming it deletes or creates documents
4. Identify the error in this SQL query compared to Elasticsearch query style:
SELECT * FROM products WHERE name = 'laptop'
medium
A. SQL uses JSON format, so this query is invalid.
B. Elasticsearch does not use SQL syntax; it uses JSON-based queries.
C. The query is missing a JOIN clause required in Elasticsearch.
D. The query should use double quotes around 'laptop' in SQL.

Solution

  1. Step 1: Understand query languages

    SQL uses its own syntax; Elasticsearch uses JSON Query DSL, not SQL syntax.
  2. Step 2: Identify the mismatch

    The given query is valid SQL but invalid for Elasticsearch which requires JSON format queries.
  3. Final Answer:

    Elasticsearch does not use SQL syntax; it uses JSON-based queries. -> Option B
  4. Quick Check:

    Elasticsearch queries = JSON, not SQL [OK]
Hint: Elasticsearch queries are JSON, not SQL [OK]
Common Mistakes:
  • Assuming Elasticsearch supports SQL syntax natively
  • Thinking JOINs are mandatory in Elasticsearch queries
  • Confusing string quoting rules between SQL and JSON
5. You need to build a system that supports complex transactions with multiple table joins and strict data integrity. Which database type should you choose and why?
hard
A. Relational database, because it supports ACID transactions and joins.
B. Relational database, because it is optimized for full-text search.
C. Elasticsearch, because it stores data in JSON and is schema-less.
D. Elasticsearch, because it handles complex joins efficiently.

Solution

  1. Step 1: Identify requirements

    The system needs complex transactions, multiple joins, and strict data integrity.
  2. Step 2: Match requirements to database features

    Relational databases provide ACID transactions and support joins, ensuring data integrity.
  3. Step 3: Compare Elasticsearch capabilities

    Elasticsearch is optimized for search and analytics, not transactional integrity or joins.
  4. Final Answer:

    Relational database, because it supports ACID transactions and joins. -> Option A
  5. Quick Check:

    Transactions + joins = Relational DB [OK]
Hint: Use relational DB for transactions and joins, Elasticsearch for search [OK]
Common Mistakes:
  • Choosing Elasticsearch for transactional systems
  • Confusing JSON storage with transactional support
  • Assuming Elasticsearch supports complex joins
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