IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Oracle Discussion :

Moteur de recherche avec scoring sur plusieurs colonnes


Sujet :

Oracle

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 152
    Points : 80
    Points
    80
    Par défaut Moteur de recherche avec scoring sur plusieurs colonnes
    Bonjour à tous,

    Je travail sur un moteur de recherche sous Oracle de données d'une entreprise.

    Toutes les données sont reliées entre elles et le but est de rechercher des objets, de voir à quels autres objets un objet est relié et d'effectuer des actions


    Donc voici ou nous en sommes :

    Il y a 2 tables principales

    OBJ_INDEXES : contient tous les objets indexés. Il y a 7 champs indexés
    OBJ_LINKS : contient les liens entre les objets


    La question qu'on se pose concerne OBJ_INDEXES : il y a plusieurs pistes et j'aimerais avoir votre avis.


    Pour chaque objet on a trié les informations sur chaque objet en 3 groupes de pertinence. 1 important, 2 moyen, 3 bas

    Par exemple pour un employé :

    Nom + Prénom : 1
    Adresse : 2
    Date d'engagement : 3

    A cela on ajoute les ID. Si on entre un ID d'un dossier ou d'un employé, il doit apparaitre en 1ier

    Ensuite nous avons les liens qui entrent en jeu. Un employé travail sur des dossiers. Donc si un dossier s'intitule "Hello project". Un utilisateur tape "project" le dossier doit apparaitre mais également l'employé dans les premiers résultats. Pour cela l'idée est la suivante


    Pour chaque OBJ j'ai donc
    ID
    INDEX_1 : contient les info pertinentes sur l'obj NIv1
    INDEX_2 : contient les info pertinentes sur l'obj NIV2
    INDEX_3 : contient les info pertinentes sur l'obj NIV3
    +
    INDEX_1B : contient la concaténation des INDEX_1 des OBJ lié à lui via OBJ_LINKS
    INDEX_2B : contient la concaténation des INDEX_2 des OBJ lié à lui via OBJ_LINKS

    (Pour certains objets on limite car sinon c'est trop gros)

    Pour résumer ma question :

    Comment rechercher efficacement dans une table sur 7 colonnes ayant des pondérations différentes dans le calcul d'un scoring ?

    Nous avons des intermedia index avec quelques optimisations fuzzy


    Voici ce que nous avons pour le moment. On a concaténé index1 2 3 dans un seul champs... car quand on attaque 3 colonnes en même temps les peformances chuttent fortement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT k.xml_params, k.c_obj_type, k.id_index_object 
    FROM OBJ_INDEXES k 
    WHERE contains(k.l_index_123,fnc$analyze_transform_l_search (l_search_string),1) > 0
    ORDER BY SCORE(1) DESC
    Merci,


    Vodnok

  2. #2
    Expert éminent sénior Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Points : 11 252
    Points
    11 252
    Par défaut
    Vous est dans un monde de souffrance: Bad CaRMa.

  3. #3
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 820
    Points
    17 820
    Par défaut
    Génial cet article.

Discussions similaires

  1. [XL-2010] formule avec conditions sur plusieurs colonnes
    Par hugodu28 dans le forum Excel
    Réponses: 2
    Dernier message: 28/03/2015, 00h11
  2. Autocomplete avec resultat sur plusieurs colonnes
    Par Slayes dans le forum jQuery
    Réponses: 0
    Dernier message: 21/07/2013, 10h47
  3. Recherche avec critères sur plusieurs lignes
    Par affro-jojo dans le forum Requêtes
    Réponses: 10
    Dernier message: 28/06/2011, 18h36
  4. [XL-2003] Liste déroulante avec image sur plusieurs colonnes
    Par mimi62 dans le forum Excel
    Réponses: 3
    Dernier message: 27/09/2010, 21h05
  5. Jointure avec conditions sur plusieurs colonnes
    Par ben53 dans le forum Langage SQL
    Réponses: 9
    Dernier message: 28/11/2005, 09h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo