Les analyseurs dans elasticsearch
Je vais avoir de la difficulté à comprendre le concept des analyseurs dans elasticsearch avec des pneus gem. Je suis vraiment un débutant de ces concepts de recherche. Peut quelqu'un m'aider avec certains de référence de l'article ou de l'expliquer, ce qui en fait l'analyseurs de faire et pourquoi ils sont utilisés?
Je vois des différents analyseurs d'être mentionné à elasticsearch comme mot-clé, standard, simple, boule de neige. Sans la connaissance des analyseurs je ne pouvais pas faire ce que fait adapté à mon besoin.
- En fait je viens de trouver ce blog génial post sur comment les analyseurs de travail dans elasticsearch, avec des exemples concrets: trouvé.n/fondation/texte-analyse-partie-1
- C'était vraiment la peine de regarder pour un débutant de commencer avec...Merci @BrDaHa
- technocratsid.com/elasticsearch-analyzers
Vous devez vous connecter pour publier un commentaire.
Permettez-moi de vous donner une réponse courte.
Un analyseur est utilisé lors de l'indexation et à la recherche en Temps.
Il est utilisé pour créer un index des termes.
À indice d'une phrase, il pourrait être utile de pause dans les mots.
Voici l'analyseur.
Il applique des générateurs de jetons et un jeton de filtres.
Un générateur de jetons pourrait être un Espace générateur de jetons. Diviser une phrase en jetons à chaque espace.
Une minuscule générateur de jetons qui se partageront une phrase à chaque non-lettre minuscules et en toutes lettres.
Un jeton de filtre est utilisé pour filtrer ou de convertir des pions. Par exemple, un ASCII pliage filtre convertit les caractères comme ê, é, è e.
Un analyseur est un mélange de tout cela.
Vous devriez lire Guide d'analyse et de regarder la droite toutes les différentes options que vous avez.
Par défaut, Elasticsearch s'applique la norme de l'analyseur. Il va supprimer tous les mots anglais (et de nombreux autres filtres)
Vous pouvez également utiliser le Analyser Les Api pour comprendre comment il fonctionne. Très utile.
Dans
Lucene
, un analyseur est une combinaison de générateur de jetons (splitter) + stemmer + ignoré filtreDans
ElasticSearch
, un analyseur est une combinaison deCharacter filter
: "ranger" une chaîne de caractères avant de elle est sous forme de jeton. Exemple:supprimer les balises HTML
Tokenizer
: DOIT avoir un seul générateur de jetons. Il est utilisé pour rompre la chaîne en termes individuels ou des jetonsToken filter
: modifier, d'ajouter ou de retirer des jetons. Stemmer est un exemple de jeton de filtre, il est utilisé pour obtenir la base de la parole, par exemple: "heureux", "le bonheur" => "happi".Voir Boule de neige démo ici
Ceci est le réglage pour mon système:
Ref:
Voici un plugin génial sur dépôt github. C'est un peu l'extension de Analyser les API. Trouvé sur élastique plugin liste.
Ce qui est génial, c'est qu'il montre des jetons avec tous leurs attributs après chaque étape. Avec cela, il est facile à déboguer l'analyseur de configuration et voir pourquoi nous avons droit à des jetons et où nous avons perdu ceux que nous voulions.
Souhaite que je l'avais trouvé plus tôt qu'aujourd'hui. Grâce à ce que je viens de trouver pourquoi ma
keyword_repeat
jeton tokenizer semblait ne pas fonctionner correctement. Le problème a été causé par le prochain jeton de filtre:icu_transform
(utilisé pour la transcription) qui, malheureusement, n'a pas respecté le mot clé de l'attribut et transformé tous les jetons. Ne sais pas sinon comment pourrais-je trouver la cause si ce n'est pour ce plugin.