Bird
Raised Fist0
Elasticsearchquery~10 mins

Standard analyzer in Elasticsearch - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to define a standard analyzer in Elasticsearch.

Elasticsearch
{
  "settings": {
    "analysis": {
      "analyzer": {
        "my_standard_analyzer": {
          "type": "[1]"
        }
      }
    }
  }
}
Drag options to blanks, or click blank then click option'
Astandard
Bkeyword
Csimple
Dwhitespace
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'keyword' analyzer which does not tokenize the text.
Using 'simple' or 'whitespace' which behave differently.
2fill in blank
medium

Complete the code to create an index with a standard analyzer applied to a field.

Elasticsearch
{
  "mappings": {
    "properties": {
      "content": {
        "type": "text",
        "analyzer": "[1]"
      }
    }
  }
}
Drag options to blanks, or click blank then click option'
Akeyword
Bstandard
Csimple
Denglish
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'keyword' analyzer which does not tokenize text.
Using language-specific analyzers like 'english' when standard is needed.
3fill in blank
hard

Fix the error in the analyzer definition to use the standard analyzer correctly.

Elasticsearch
{
  "settings": {
    "analysis": {
      "analyzer": {
        "my_analyzer": {
          "type": "[1]"
        }
      }
    }
  }
}
Drag options to blanks, or click blank then click option'
Astandard
BStandard
CSTANDARD
Dstandards
Attempts:
3 left
💡 Hint
Common Mistakes
Using uppercase or capitalized versions like 'Standard' or 'STANDARD'.
Typo like 'standards' which is invalid.
4fill in blank
hard

Fill both blanks to define a custom analyzer using the standard tokenizer and lowercase filter.

Elasticsearch
{
  "settings": {
    "analysis": {
      "analyzer": {
        "custom_std_lower": {
          "tokenizer": "[1]",
          "filter": ["[2]"]
        }
      }
    }
  }
}
Drag options to blanks, or click blank then click option'
Astandard
Blowercase
Cstop
Dkeyword
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'keyword' tokenizer which does not split text.
Using 'stop' filter instead of 'lowercase' filter.
5fill in blank
hard

Fill all three blanks to create an index with a standard analyzer and a mapping that uses it on the 'title' field.

Elasticsearch
{
  "settings": {
    "analysis": {
      "analyzer": {
        "my_std_analyzer": {
          "type": "[1]"
        }
      }
    }
  },
  "mappings": {
    "properties": {
      "title": {
        "type": "text",
        "analyzer": "[2]"
      }
    }
  }
}
Drag options to blanks, or click blank then click option'
Akeyword
Bstandard
Cmy_std_analyzer
Dsimple
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'keyword' as analyzer type which does not tokenize.
Using 'standard' as analyzer name in mapping instead of custom analyzer name.

Practice

(1/5)
1. What does the standard analyzer in Elasticsearch do by default?
easy
A. Keeps punctuation and case intact
B. Breaks text into words, ignores punctuation and case
C. Only analyzes numbers and symbols
D. Removes all spaces and joins words

Solution

  1. Step 1: Understand the role of the standard analyzer

    The standard analyzer splits text into simple words by removing punctuation and ignoring case differences.
  2. Step 2: Recall default behavior in Elasticsearch

    It is the default analyzer and is designed for general text processing, making text lowercase and splitting on punctuation.
  3. Final Answer:

    Breaks text into words, ignores punctuation and case -> Option B
  4. Quick Check:

    Standard analyzer = splits words, ignores punctuation and case [OK]
Hint: Standard analyzer splits words and lowercases text [OK]
Common Mistakes:
  • Thinking it keeps punctuation
  • Assuming it preserves case
  • Believing it only analyzes numbers
2. Which of the following is the correct way to specify the standard analyzer in an Elasticsearch index mapping?
easy
A. "analyzer": "whitespace"
B. "analyzer": "simple"
C. "analyzer": "keyword"
D. "analyzer": "standard"

Solution

  1. Step 1: Identify the analyzer name for standard analyzer

    The standard analyzer is referenced by the string "standard" in Elasticsearch mappings.
  2. Step 2: Compare with other analyzer names

    Other analyzers like "simple", "keyword", and "whitespace" are different and not the standard analyzer.
  3. Final Answer:

    "analyzer": "standard" -> Option D
  4. Quick Check:

    Standard analyzer name = "standard" [OK]
Hint: Use "analyzer": "standard" to apply standard analyzer [OK]
Common Mistakes:
  • Using other analyzer names by mistake
  • Forgetting quotes around analyzer name
  • Confusing standard with simple analyzer
3. Given the text "Hello, World! Elasticsearch 7.10", what tokens will the standard analyzer produce?
medium
A. ["Hello", "World", "Elasticsearch", "7.10"]
B. ["hello,", "world!", "elasticsearch", "7.10"]
C. ["hello", "world", "elasticsearch", "7", "10"]
D. ["hello world elasticsearch 7 10"]

Solution

  1. Step 1: Apply standard analyzer tokenization rules

    The standard analyzer lowercases text and splits on punctuation and whitespace, so "Hello," becomes "hello", "World!" becomes "world".
  2. Step 2: Analyze numbers and punctuation

    Numbers separated by punctuation like "7.10" are split into "7" and "10" tokens.
  3. Final Answer:

    ["hello", "world", "elasticsearch", "7", "10"] -> Option C
  4. Quick Check:

    Standard analyzer tokens = lowercase words split on punctuation [OK]
Hint: Standard analyzer lowercases and splits on punctuation [OK]
Common Mistakes:
  • Keeping punctuation attached to words
  • Not splitting numbers on dots
  • Preserving original case
4. You wrote this mapping snippet but your field is not analyzed as expected:
{
  "mappings": {
    "properties": {
      "title": {
        "type": "text",
        "analyzer": "standard_analyzer"
      }
    }
  }
}
What is the error?
medium
A. Analyzer name should be "standard", not "standard_analyzer"
B. Field type should be "keyword" instead of "text"
C. Analyzer must be defined under "settings", not "mappings"
D. Missing "index": true property

Solution

  1. Step 1: Check the analyzer name used in mapping

    The standard analyzer is named "standard". Using "standard_analyzer" is incorrect and causes the analyzer to not be found.
  2. Step 2: Verify field type and analyzer placement

    Field type "text" is correct for analyzed fields, and analyzer is correctly placed under "mappings". "index": true is default and not required.
  3. Final Answer:

    Analyzer name should be "standard", not "standard_analyzer" -> Option A
  4. Quick Check:

    Analyzer name must be exact "standard" [OK]
Hint: Use exact analyzer name "standard" in mappings [OK]
Common Mistakes:
  • Adding extra suffix to analyzer name
  • Changing field type to keyword for analyzed text
  • Misplacing analyzer in settings instead of mappings
5. You want to create a custom analyzer that uses the standard tokenizer but adds a lowercase filter and a stop word filter. Which of the following JSON snippets correctly defines this analyzer in Elasticsearch?
hard
A. { "settings": { "analysis": { "analyzer": { "custom_std": { "type": "custom", "tokenizer": "standard", "filter": ["lowercase", "stop"] } } } } }
B. { "settings": { "analysis": { "analyzer": { "custom_std": { "type": "standard", "filter": ["lowercase", "stop"] } } } } }
C. { "settings": { "analysis": { "analyzer": { "custom_std": { "type": "custom", "tokenizer": "simple", "filter": ["lowercase", "stop"] } } } } }
D. { "settings": { "analysis": { "analyzer": { "custom_std": { "type": "custom", "tokenizer": "standard", "filter": ["stop", "uppercase"] } } } } }

Solution

  1. Step 1: Define a custom analyzer with standard tokenizer

    The analyzer must have "type": "custom" and use "tokenizer": "standard" to start with the standard tokenizer.
  2. Step 2: Add lowercase and stop filters in correct order

    The filters array should include "lowercase" and "stop" filters to lowercase tokens and remove stop words.
  3. Step 3: Verify other options

    { "settings": { "analysis": { "analyzer": { "custom_std": { "type": "standard", "filter": ["lowercase", "stop"] } } } } } uses "type": "standard" which does not allow custom filters. { "settings": { "analysis": { "analyzer": { "custom_std": { "type": "custom", "tokenizer": "simple", "filter": ["lowercase", "stop"] } } } } } uses "simple" tokenizer, not standard. { "settings": { "analysis": { "analyzer": { "custom_std": { "type": "custom", "tokenizer": "standard", "filter": ["stop", "uppercase"] } } } } } uses "uppercase" filter which is incorrect here.
  4. Final Answer:

    Custom analyzer with type custom, standard tokenizer, and filters lowercase and stop -> Option A
  5. Quick Check:

    Custom analyzer = type custom + standard tokenizer + lowercase + stop filters [OK]
Hint: Custom analyzer needs type custom and tokenizer standard [OK]
Common Mistakes:
  • Using type standard instead of custom for filters
  • Choosing wrong tokenizer like simple
  • Wrong filter order or filters like uppercase
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