Recherches alternatives Gestion des documents Stratégie d’indexation Q&R } Rechercher en plein texte sur les champs pertinents } Manipuler des contenus hétérogènes } Filtrer les contenus selon un ou plusieurs plans de classement } Manipuler des contenus multilingues } Aider à la recherche par des suggestions (autocomplétion)
Recherches alternatives Gestion des documents Stratégie d’indexation Q&R } Manipuler des types de contenus – Il est possible de déclarer dynamiquement les types de contenus – Chaque champ, pour le type de contenus, est déclaré recherchable – Un type de contenu = un type Elasticsearch dans l’index des contenus – Le type est homogène à la structure documentaire dans MongoDB
Recherches alternatives Gestion des documents Stratégie d’indexation Q&R } Les taxonomies – Associées à un ou plusieurs types de contenus – Traductibles – Opérateur paramétrable (ou / et) } Mis à plat dans chaque document avant indexation – Tableau avec un champ par vocabulaire – Chaque vocabulaire contient un tableau d’identifiants pour les mots associés } Utilisés comme des facettes naturelles
Recherches alternatives Gestion des documents Stratégie d’indexation Q&R } Manipuler plusieurs langues pour un contenu – Chaque champ peut-être « localisable » ou indépendant de la langue – Un contenu peut être dans un nombre arbitraire de langues – Le contenu est la somme des champs globaux et des champs traduits } L’usage de « multi-fields » permet de gérer les cas de recherche – Un field « all_nonlocalized » – Un field « all_locale » par langue – Chaque traduction d’un champ est affecté aux bons fields
Recherches alternatives Gestion des documents Stratégie d’indexation Q&R } 2 cas de recherches avec les langues – Monolingue : filtrage sur la présence de la langue • all_locale, all_nonlocalized^0.1 – Multilingue : une langue privilégiée (langue courante) • all_locale, all_otherlocale^0.1, all_nonlocalized^0.1 } Un analyser spécifique et des multifields pour l’autocompletion
Gestion des documents Stratégie d’indexation Q&R } Définition d’un document – Association d’un fichier à des métadonnées – Bureautique ou média – Indexation plein texte si possible pour les documents } Types de document } Utilisation de MongoDB GridFS pour le stockage } Désactivation du stockage de la source sur Elasticsearch
des documents Stratégie d’indexation Q&R } Déclenchement sur le CRUD MongoDB – Indexation d’un contenu sur Create et Update – Suppression de l’index sur Delete – Création d’un type sur l’action de création du type de contenu – Suppression et recréation d’un type sur la mise à jour d’un type de contenu – Suppression sur le Delete } Même stratégie pour les média
des documents Stratégie d’indexation Q&R } Temps réel pour les modifications atomiques } Destruction et recréation des types lors de l'altération de ceux-ci } Traitement par lots et validation en fin de tâche } Utilisation de tâches différées } Possibilité de reconstruire totalement l'index
des documents Stratégie d’indexation Q&R } Reste à faire – Gestion de section critique dans les tâches asynchrones – Mise à jour sur un index secondaire et bascule – Manipulation de gros fichiers dans les indexations (PDF > 50Mo)