Elasticsearch - Recherche et analyse de texte

Analyse d'une base de comics

Nous possédons une base de personnages de comics avec des textes de description. Le mapping par défaut est le suivant :

CTRL+C pour copier, CTRL+V pour coller
1
{
2
  "mappings": {
3
    "characters": {
4
      "properties": {
5
        "characters": {
6
          "type": "string",
7
          "index": "not_analyzed"
8
        },
9
        "description": {
10
          "type": "string",
11
          "index": "not_analyzed"
12
        }
13
      }
14
    }
15
  }
16
}
{
  "mappings": {
    "characters": {
      "properties": {
        "characters": {
          "type": "string",
          "index": "not_analyzed"
        },
        "description": {
          "type": "string",
          "index": "not_analyzed"
        }
      }
    }
  }
}

Chaque données est constitué de deux champs :

  • "character" : Le nom du personnage

  • "description" : Le texte de description du personnage

Question

Combien de personnages sont de l'univers marvel ? Un des résultat possède un score plus grand que les autres sur cette recherche, quel est le personnage lié à cette recherche ?

Vous devrez préalablement redéfinir votre index avec le mapping correct pour analyser les descriptions et rechercher à partir de mots clés.

Question

Quel mot apparaît dans le plus de description de personnages ? On ne veut pas prendre en compte les mots les plus communs (tel que les déterminants) dans notre recherche.

Question

Procédons à une dernière amélioration de l'analyse de notre description. Dans le résultat précédent, on observe que les agrégats des mots comic et comics sont séparés. Comment pourrions nous rassembler les mots ayant la même racine ? Modifier la définition de l'index pour ajouter ce nouveau analyzer.

Question

Exercice supplémentaire : Quels sont les racines de mots qui apparaissent le plus souvent pour les personnages de marvel ? Notez que tous ces personnages possèdent le mot marvel dans leurs descriptions.

PrécédentPrécédentFin
AccueilAccueilImprimerImprimer Oscar Odic, 2016 (Contributions : Stéphane Crozat, les étudiants de l'UTC) Paternité - Partage des Conditions Initiales à l'IdentiqueRéalisé avec Scenari (nouvelle fenêtre)