Scénario 1 : Rechercher dans un index donné les entrées de référence qui correspondent - 6.1

Composants Talend Guide de référence

EnrichVersion
6.1
EnrichProdName
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Data Integration
Talend Data Management Platform
Talend Data Services Platform
Talend ESB
Talend MDM Platform
Talend Open Studio for Big Data
Talend Open Studio for Data Integration
Talend Open Studio for Data Quality
Talend Open Studio for ESB
Talend Open Studio for MDM
Talend Real-Time Big Data Platform
task
Création et développement
Gouvernance de données
Qualité et préparation de données
EnrichPlatform
Studio Talend

Ce scénario décrit un Job à trois composants permettant de lire des données relatives à des prénoms, de parcourir un index de synonymes donné pour trouver les entrées de référence qui correspondent aux données d'entrée et d'écrire les résultats.

Créez un index de synonymes de prénoms pour ce Job en suivant les procédures décrites dans Scénario 2 : Créer un index des synonymes de noms de personnes en utilisant un tMap.

Ce Job requiert l'utilisation de trois composants :

  • tFixedFlowInput : ce composant génère les données d'entrée que vous mettrez en correspondance avec les entrées de référence dans l'index de synonymes.

  • tSynonymSearch : ce composant recherche dans l'index de synonymes les entrées de référence qui correspondent.

  • tLogRow (found) : ce composant liste les résultats de cette recherche de correspondance.

Construire le Job

  1. A partir de la Palette, déposez les composants suivants dans l'espace de modélisation graphique : un tFixedFlowInput, un tSynonymSearch et un tLogRow.

    Vous pouvez modifier le nom affiché de chaque composant, comme pour le composant tLogRow, renommé found dans ce scénario. Pour plus d'informations, consultez le Guide utilisateur du Studio Talend.

  2. Cliquez-droit sur le composant tFixedFlowInput pour ouvrir le menu contextuel et sélectionnez Row > Main.

  3. Déposez le lien sur le composant tSynonymSearch pour créer une connexion entre ces deux composants.

  4. Procédez de la même manière pour connecter le tSynonymOutput au tLogRow (found).

Configurer les composants

  1. Double-cliquez sur le tFixedFlowInput pour ouvrir sa vue Component.

  2. A côté du champ Schema, cliquez sur le bouton Edit schema pour ouvrir la boîte de dialogue [Schema]. Ajoutez une colonne et nommez-la FIRSTNAME. Cliquez sur OK pour valider les modifications et fermer la boîte de dialogue.

  3. Dans la zone Mode, sélectionnez l'option Use Inline Content (delimited file) et saisissez les noms suivants dans le champ Content :

    Kristof
    Chris
    Tony
    Anton
  4. Double-cliquez sur le tSynonymSearch pour ouvrir sa vue Component.

  5. Cliquez sur Sync columns pour ajouter les colonnes du schéma du composant précédent aux colonnes du schéma par défaut du tSynonymSearch. Dans la boîte de dialogue qui s'ouvre, cliquez sur Yes pour propager les modifications au composant suivant.

  6. Cliquez sur le bouton [...] à côté d'Edit schema pour ouvrir l'éditeur de schéma et ajoutez une colonne au schéma de sortie, matched_fname.

    Cette colonne va contenir les entrées de référence en correspondance dans le flux de sortie.

    Cliquez sur OK pour valider les paramètres et acceptez la propagation lorsque cela vous est proposé.

  7. Dans le champ Limit of each group, saisissez 5 pour remplacer la valeur par défaut.

  8. Sous le tableau Column to search, cliquez sur le bouton [+] pour ajouter une ligne et définissez les paramètres comme suit :

    • Dans la colonne Input column, sélectionnez FIRSTNAME dans la liste des colonnes d'entrée.

    • Dans la colonne Reference output column, sélectionnez matched_fname dans la liste des colonnes de sortie.

    • Dans la colonne Index path, saisissez entre guillemets doubles le chemin d'accès à l'index de synonymes à utiliser.

    • Dans la colonne Search mode, sélectionnez Match all fuzzy. Cela va mettre en correspondance chaque mot de la chaîne de caractères d'entrée par rapport au mot similaire de la chaîne de caractères de l'index.

    • Dans la colonne Score threshold, saisissez 0.9 pour filtrer les résultats et lister uniquement les termes ayant une haute similarité.

    • Dans la colonne Max edits, sélectionnez 1 comme distance de modification autorisée à utiliser.

      Avec une distance maximale de modification de 1, vous pouvez effectuer une insertion, suppression ou substitution. Tout terme à l'intérieur de cette distance depuis les données d'entrée est mis en correspondance.

    • Laissez la colonne Word distance telle qu'elle est pour le mode Match partial.

    • Dans la colonne Limit, laissez la valeur par défaut, 5.

  9. Dans la vue Basic settings du tLogRow, sélectionnez l'option Table pour un meilleur affichage des résultats d'exécution du Job.

Exécuter le Job

  • Appuyez sur F6 pour exécuter ce Job.

Le résultat de l'exécution se présente comme suit dans la console de la vue Run.

A partir de ce résultat, vous pouvez voir que chaque prénom de la chaîne de caractères d'entrée correspond à un mot similaire de la chaîne de caractères de l'index. Par exemple, l'entrée Chris du flux d'entrée est une correspondance floue pour 5 mots dans l'index de synonymes donné. Cet enregistrement est reconnu comme groupe 2 dont la taille est de 3, ce qui signifie que trois correspondances de référence sont trouvées pour ce groupe.

Les colonnes SCORE et SCORES présentent les même valeurs dans la mesure où seule une colonne d'entrée est utilisée dans ce scénario.

Si vous souhaitez extraire uniquement les entrées correspondant exactement à une chaîne de caractères de l'index, sélectionnez Match exact dans la colonne Search mode de l'onglet Basic settings du composant tSynonymSearch.