0Pricing
Elasticsearch & Full Text Search Systems · Lesson

Analyzers, Tokenizers, Filters

Deep dive into the components of text analysis: character filters, tokenizers, and token filters, understanding their roles.

Analyzers, Tokenizers, Filters is a free Elasticsearch & Full Text Search Systems lesson on CoddyKit — lesson 1 of 4. You can read the complete lesson below for free — then practise it hands-on in the browser with a built-in code editor and a 24/7 AI tutor. It is part of the Elasticsearch & Full Text Search Systems learning path, one of 4 lessons in the course, and your progress syncs across the web and the CoddyKit app.

Unlocking Search with Text Analysis

When you search, you expect relevant results, even with typos or different word forms. This magic happens through text analysis!

Text analysis is how Elasticsearch processes raw text into a format suitable for searching. It breaks down and transforms your content to make it highly searchable and improve relevancy.

The Analyzer: Your Text Processor

At the heart of text analysis is the analyzer. Think of an analyzer as a complete pipeline, a series of steps that takes raw text and prepares it for indexing and searching.

Every analyzer consists of up to three main components:

  • Character Filters: Clean up the raw text.
  • Tokenizer: Breaks text into individual 'tokens' (words).
  • Token Filters: Refine and modify these tokens.

Character Filters: Cleaning Up Text

Character filters are the first step in the analysis pipeline. They work on the raw text string before it's broken into tokens.

Their job is to clean up or transform the text. Common uses include:

  • Removing HTML tags (e.g., <b>hello</b> becomes hello).
  • Replacing characters (e.g., & to and).
  • Mapping specific characters to others.

Char Filter Demo: HTML Strip

Let's use the _analyze API to see an html_strip character filter remove HTML tags. Notice how the text is still a single string at this stage.

POST _analyze
{
  "char_filter": ["html_strip"],
  "text": "<b>Hello</b> <i>world</i>!"
}

The Tokenizer: Breaking into Words

After character filters, the tokenizer takes over. Its primary role is to break the cleaned text into individual 'tokens' or words. These tokens are what eventually get indexed and searched.

Different tokenizers exist for various needs:

  • Standard Tokenizer: Default, good for most languages, handles punctuation.
  • Whitespace Tokenizer: Splits text only by whitespace.
  • Keyword Tokenizer: Treats the entire input as a single, unchangeable token (useful for IDs or specific codes).

Tokenizer Demo: Standard Tokenizer

The standard tokenizer is widely used. It intelligently splits text, removes most punctuation, and lowercases words by default (though lowercasing is technically a token filter often applied with it).

POST _analyze
{
  "tokenizer": "standard",
  "text": "Quick brown fox!"
}

Token Filters: Refining Tokens

The final step is token filters. These filters take the tokens produced by the tokenizer and modify them. They can add, remove, or change tokens, significantly impacting search relevancy.

Examples of token filters:

  • Lowercase Filter: Converts all tokens to lowercase.
  • Stopword Filter: Removes common, less meaningful words (e.g., 'the', 'is', 'a').
  • Synonym Filter: Replaces words with their synonyms.
  • Stemmer Filter: Reduces words to their root form (e.g., 'running' to 'run').

Token Filter Demo: Lowercase & Stop

Let's see how lowercase and stop filters work. We'll use the standard tokenizer first, then apply these filters.

POST _analyze
{
  "tokenizer": "standard",
  "filter": ["lowercase", "stop"],
  "text": "The Quick brown fox is fast."
}

The Full Analysis Pipeline

Here's how all the components work together in sequence:

  • Raw Text enters the analyzer.
  • It passes through Character Filters (cleaning).
  • The output goes to the Tokenizer (breaking into tokens).
  • Finally, the tokens are processed by Token Filters (refinement).
  • The result is a set of Searchable Terms.

This pipeline ensures consistent and effective text processing for your search data.

Check Your Understanding

Consider the text: <p>Learn Elasticsearch</p>

If you want to remove the HTML tags <p> and <b> before the text is split into words, which component of the analyzer pipeline would you use?

Recap: Analysis Components

Great job! You've successfully explored the building blocks of Elasticsearch's text analysis:

  • Analyzers: The complete text processing pipeline.
  • Character Filters: Pre-process raw text (e.g., remove HTML, replace characters).
  • Tokenizers: Break text into individual tokens (words).
  • Token Filters: Refine and modify tokens (e.g., lowercase, remove stop words, stem).

Understanding these components is crucial for building powerful and relevant search experiences!

Frequently asked questions

Is the “Analyzers, Tokenizers, Filters” lesson free?

Yes — the full text of “Analyzers, Tokenizers, Filters” is free to read here on the web, and the Elasticsearch & Full Text Search Systems course includes 4 lessons in total. To practise it interactively (a built-in code editor and a 24/7 AI tutor) and unlock the rest of the Elasticsearch & Full Text Search Systems course, upgrade to CoddyKit PRO.

What will I learn in “Analyzers, Tokenizers, Filters”?

Deep dive into the components of text analysis: character filters, tokenizers, and token filters, understanding their roles. You practise Elasticsearch & Full Text Search Systems with hands-on code you run directly in the browser, and a 24/7 AI tutor answers your questions as you work through the lesson.

Do I need any experience to start Elasticsearch & Full Text Search Systems?

No prior experience is required. Elasticsearch & Full Text Search Systems on CoddyKit is structured for beginners through advanced learners; this is — lesson 1 of 4, so you can start here or from the beginning and move at your own pace.

How long does the “Analyzers, Tokenizers, Filters” lesson take?

Most CoddyKit lessons take about 5–10 minutes. Each one is bite-sized and interactive, so you make steady progress and pick up exactly where you left off across the web and the app.

Can I write and run code in this Elasticsearch & Full Text Search Systems lesson?

Yes. Every Elasticsearch & Full Text Search Systems lesson includes a built-in code editor, so you write and run real code right in your browser and get instant AI feedback — no local setup required.

All lessons in this course

  1. Analyzers, Tokenizers, Filters
  2. Customizing Text Analyzers
  3. Boosting and Relevancy Scoring
  4. Synonyms and Stemming
← Back to Elasticsearch & Full Text Search Systems