Analysatorer, tokenizere og filtre
Gå i dybden med komponenterne i tekstanalyse: tegnfiltre, tokenizere og tokenfiltre, og forstå deres roller.
Analysatorer, tokenizere og filtre er en gratis Elasticsearch og systemer til fuldtekstsøgning-lektion på CoddyKit. Dette er lektion 1 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i Elasticsearch og systemer til fuldtekstsøgning, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Elasticsearch og systemer til fuldtekstsøgning-kurset indeholder 4 lektioner i alt.
Gør søgning mulig med tekstanalyse
Når du søger, forventer du relevante resultater, selv ved slåfejl eller forskellige ordformer. Det sker gennem tekstanalyse!
Tekstanalyse er den måde, Elasticsearch behandler rå tekst på, så den får et format, der egner sig til søgning. Den opdeler og transformerer dit indhold for at gøre det meget søgbart og forbedre relevansen.
Analysatoren: Din tekstbehandler
Kernen i tekstanalyse er analysatoren. Tænk på en analysator som en komplet pipeline, altså en række trin, der tager rå tekst og forbereder den til indeksering og søgning.
Hver analysator består af op til tre hovedkomponenter:
- Tegnsfiltre: Rydder op i den rå tekst.
- Tokenisator: Opdeler teksten i individuelle 'tokens' (ord).
- Tokenfiltre: Forfiner og ændrer disse tokens.
Tegnsfiltre: Ryd op i teksten
Tegnsfiltre er det første trin i analyseforløbet. De arbejder på den rå tekststreng før den opdeles i tokens.
Deres opgave er at rense eller transformere teksten. Almindelige anvendelser omfatter:
- Fjernelse af HTML-tags (f.eks. bliver
<b>hello</b>tilhello). - Erstatning af tegn (f.eks.
&medand). - Kortlægning af bestemte tegn til andre tegn.
Demo af tegnfilter: Fjernelse af HTML
Lad os bruge _analyze-API'et til at se et html_strip-tegnfilter fjerne HTML-tags. Bemærk, at teksten stadig er én enkelt streng på dette trin.
POST _analyze
{
"char_filter": ["html_strip"],
"text": "<b>Hello</b> <i>world</i>!"
}Tokenizer: Opdeling i ord
Efter tegnfiltrene tager tokenizeren over. Dens primære rolle er at opdele den rensede tekst i individuelle »tokens« eller ord. Det er disse tokens, der til sidst indekseres og kan søges i.
Der findes forskellige tokenizere til forskellige behov:
- Standard-tokenizer: Standardvalget, velegnet til de fleste sprog og håndterer tegnsætning.
- Whitespace-tokenizer: Opdeler kun teksten ved mellemrum.
- Keyword-tokenizer: Behandler hele inputtet som ét uforanderligt token (nyttigt til ID'er eller bestemte koder).
Demo af tokenizer: Standard-tokenizer
standard-tokenizeren bruges i vid udstrækning. Den opdeler intelligent teksten, fjerner det meste tegnsætning og konverterer som standard ord til små bogstaver (selvom konvertering til små bogstaver teknisk set er et tokenfilter, der ofte bruges sammen med den).
POST _analyze
{
"tokenizer": "standard",
"text": "Quick brown fox!"
}Tokenfiltre: Forfining af tokens
Det sidste trin er tokenfiltrene. Disse filtre tager de tokens, som tokenizeren har produceret, og ændrer dem. De kan tilføje, fjerne eller ændre tokens, hvilket har stor betydning for søgeresultaternes relevans.
Eksempler på tokenfiltre:
- Lowercase-filter: Konverterer alle tokens til små bogstaver.
- Stopordsfilter: Fjerner almindelige ord med mindre betydning (f.eks. 'the', 'is', 'a').
- Synonymfilter: Erstatter ord med deres synonymer.
- Stemming-filter: Reducerer ord til deres rodform (f.eks. 'running' til 'run').
Demo af tokenfilter: Små bogstaver og stopord
Lad os se, hvordan filtrene lowercase og stop fungerer. Først bruger vi standard-tokenizeren og anvender derefter disse filtre.
POST _analyze
{
"tokenizer": "standard",
"filter": ["lowercase", "stop"],
"text": "The Quick brown fox is fast."
}Det fulde analyseforløb
Sådan arbejder alle komponenterne sammen i rækkefølge:
- Rå tekst sendes ind i analyzeren.
- Den passerer gennem tegnfiltre (rensning).
- Outputtet sendes til tokenizeren (opdeling i tokens).
- Til sidst behandles tokens af tokenfiltre (forfining).
- Resultatet er et sæt søgbare termer.
Dette analyseforløb sikrer ensartet og effektiv tekstbehandling af dine søgedata.
Test din forståelse
Se på teksten: <p>Learn Elasticsearch</p>
Hvis du vil fjerne HTML-tagsene <p> og <b>, før teksten opdeles i ord, hvilken komponent i analyzeren skal du bruge?
Opsummering: Analysekomponenter
Godt klaret! Du har nu undersøgt byggestenene i Elasticsearch' tekstanalyse:
- Analyzere: Det komplette tekstbehandlingsforløb.
- Tegnsfiltre: Forbehandler rå tekst (f.eks. fjerner HTML og erstatter tegn).
- Tokenizere: Opdeler tekst i individuelle tokens (ord).
- Tokenfiltre: Forfiner og ændrer tokens (f.eks. konverterer til små bogstaver, fjerner stopord og udfører stemming).
Det er afgørende at forstå disse komponenter for at kunne skabe effektive og relevante søgeoplevelser!
Lær Elasticsearch og systemer til fuldtekstsøgning med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 12
- Lektioner
- 48
Ofte stillede spørgsmål
Er lektionen “Analysatorer, tokenizere og filtre” gratis?
Ja — alle 3 lektioner i læringssporet Elasticsearch og systemer til fuldtekstsøgning, inklusive “Analysatorer, tokenizere og filtre”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Elasticsearch og systemer til fuldtekstsøgning-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Analysatorer, tokenizere og filtre”?
Gå i dybden med komponenterne i tekstanalyse: tegnfiltre, tokenizere og tokenfiltre, og forstå deres roller. Du øver dig i Elasticsearch og systemer til fuldtekstsøgning med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på Elasticsearch og systemer til fuldtekstsøgning?
Der kræves ingen tidligere erfaring. Elasticsearch og systemer til fuldtekstsøgning på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 1 af 4.
Hvor lang tid tager lektionen “Analysatorer, tokenizere og filtre”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne Elasticsearch og systemer til fuldtekstsøgning-lektion?
Ja. Alle Elasticsearch og systemer til fuldtekstsøgning-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Analysatorer, tokenizere og filtre
- Tilpasning af tekstanalyseværktøjer
- Boosting og relevansscoring
- Synonymer og stemming