Analizatory, tokenizery i filtry
Dokładnie poznaj komponenty analizy tekstu: filtry znaków, tokenizery i filtry tokenów, a także zrozum ich role.
Analizatory, tokenizery i filtry to bezpłatna lekcja Elasticsearch & Full Text Search Systems na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Elasticsearch & Full Text Search Systems, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Elasticsearch & Full Text Search Systems zawiera 4 lekcji w sumie.
Części tej lekcji nie zostały jeszcze przetłumaczone i są wyświetlane po angielsku.
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>becomeshello). - Replacing characters (e.g.,
&toand). - 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!
Często zadawane pytania
Czy lekcja „Analizatory, tokenizery i filtry” jest bezpłatna?
Tak — pełny tekst „Analizatory, tokenizery i filtry” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Elasticsearch & Full Text Search Systems, przejdź na CoddyKit PRO. Kurs Elasticsearch & Full Text Search Systems zawiera 4 lekcji w sumie.
Co nauczysz się w „Analizatory, tokenizery i filtry”?
Dokładnie poznaj komponenty analizy tekstu: filtry znaków, tokenizery i filtry tokenów, a także zrozum ich role. Ćwiczysz Elasticsearch & Full Text Search Systems z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Elasticsearch & Full Text Search Systems?
Nie wymagamy żadnego doświadczenia. Elasticsearch & Full Text Search Systems w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.
Ile czasu zajmuje lekcja „Analizatory, tokenizery i filtry”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Elasticsearch & Full Text Search Systems?
Tak. Każda lekcja Elasticsearch & Full Text Search Systems zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Analizatory, tokenizery i filtry
- Dostosowywanie analizatorów tekstu
- Podbijanie i ocenianie trafności
- Synonimy i stemming