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

Plugins PHP Discussion :

Recherche avec Zend Lucene


Sujet :

Plugins PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 82
    Points : 47
    Points
    47
    Par défaut Recherche avec Zend Lucene
    Bonjour à tous,

    Dans le tuto Jobeet sur le site de symfony, un moteur de recherche est mis en place avec Zend Lucene proposé dans Zend Framework.
    Zend Lucene a besoin d'index pour fonctionner.

    je me pose donc la question suivante: si on veut faire un moteur de recherche général au site il faut créer des index pour chacun des fichiers ..Table.class.php ?

    Autre question: dans le cas où un moteur de recherche général existe déjà, est-il possible d'en faire un second qui ne recherche que sur une partie bien définie (par exemple seulement sur les index de CatalogueTable.class.php) ?

    Merci de votre réponse et désolé si ces questions ont déjà été posées...

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 28
    Points : 31
    Points
    31
    Par défaut
    Bonjour,

    Alors si tu veux une recherche sur tout le site, alors oui il faudra indexer tous les données dont tu veux qu'on puisse y faire une recherche.

    Sinon pour ta 2ème question, alors lors tu peux réutiliser le même moteur mais en y rajoutant des critères. Par exemple, si tu indexe les billets de ton blog, les commentaires et les catalogues. Tu peux y mettre un champ "type" lors de l'indexation sur lucene, qui te permettra de définir le type de la donnée, puis par la suite, si je veux faire une recherche sur catalogues, tu rajoutera le critère type='catalogue' ou type='blog' si c'est sur le blog.

    il faut savoir qu'avec lucene, tu indexe ce que tu souhaite! donc tu peux rajouter des propriétés personnalisées!

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 82
    Points : 47
    Points
    47
    Par défaut
    J'ai une autre question: ma base de données existe déjà et comporte plusieurs enregistrements, notamment dans la table catalogue qui a ~125000 enregistrements.
    Dans le tuto de jobeet ils font:
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php ...
       if (file_exists($index = self::getLuceneIndexFile()))
      {
        return Zend_Search_Lucene::open($index);
      }
      else
      {
        return Zend_Search_Lucene::create($index);
      }

    La fonction create() n'est pas à l'image de la fonction updateLuceneIndex() défini par l'utilisateur. En effet sur la fonction updateLuceneIndex()
    on précise ce sur quoi on veut créer l'index:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     // index job fields
      $doc->addField(Zend_Search_Lucene_Field::UnStored('position', $this->getPosition(), 'utf-8'));
      $doc->addField(Zend_Search_Lucene_Field::UnStored('company', $this->getCompany(), 'utf-8'));
      $doc->addField(Zend_Search_Lucene_Field::UnStored('location', $this->getLocation(), 'utf-8'));
      $doc->addField(Zend_Search_Lucene_Field::UnStored('description', $this->getDescription(), 'utf-8'));
    Ma question est donc la suivante: comment savoir et parametrer ce sur quoi on créer un index lorsque l'on appelle:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Zend_Search_Lucene::create($index);

  4. #4
    Expert éminent
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Points : 8 486
    Points
    8 486
    Par défaut
    Tu as un plugin qui permet de faciliter l'installation et l'usage de Lucent dans symfony.

    Il ajoute notamment un behavior qui permet de configurer Lucent au niveau du shema.yml. Pratique.

    Plugin : http://www.symfony-project.org/plugins/sfLucenePlugin
    Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).

    • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
    • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
    • Une discussion est terminée ? Alors le bouton est votre ami !

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 28
    Points : 31
    Points
    31
    Par défaut
    Le plugin semble bien marcher!

    Pour ma part, j'ai eu des soucis de perf avec ZendLucene sur un projet que j'ai mené, c'était un référencement de plusieurs sites (j'avais 2 millions de données)... Lucene m'avait montré ses limites, et je suis passé sur le moteur Solar (qui est une surcouche de Lucene en java) et intégré à symfony.

    Je dis cela au cas ou si tu as vraiment beaucoup de données a répertorié!

  6. #6
    Expert éminent
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Points : 8 486
    Points
    8 486
    Par défaut
    Information intéressante a noter.

    Tu peux donner le nom du plugin ?

    Et si cela marche, utiliser le bouton résolu ?
    Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).

    • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
    • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
    • Une discussion est terminée ? Alors le bouton est votre ami !

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 82
    Points : 47
    Points
    47
    Par défaut
    Je vais essazyer de mettre xce plugin en place et voir comment se comporte ZendLucene avoir mon site.

    C'est vrai que j'ai pas mal de données et que je voulais aussi utilisé Lucene pour rechercher dans des documents (excel ou word) indexés par le moteur de recherche.

    Pour le moment j'ai pas encore implémenter Lucene donc je ne sais pas si j'aurais encore besoin de vos lumières. Je pense donc laisser le topic ouvert en attendant. Cela pose problème Michel??

  8. #8
    Expert éminent
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Points : 8 486
    Points
    8 486
    Par défaut
    L'indexation de documents excel et word me semble un peu utopique avec zend, je n'ai rien vu qui permette de le faire.

    Si non, laisse ouvert...
    Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).

    • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
    • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
    • Une discussion est terminée ? Alors le bouton est votre ami !

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2006
    Messages : 28
    Points : 23
    Points
    23
    Par défaut sfLucenePlugin
    Bonjour,

    Ce module fonctionne t'il avec doctrine ?

    Cordialement

  10. #10
    Expert éminent
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Points : 8 486
    Points
    8 486
    Par défaut
    oui
    Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).

    • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
    • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
    • Une discussion est terminée ? Alors le bouton est votre ami !

  11. #11
    Membre averti
    Inscrit en
    Août 2007
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 360
    Points : 396
    Points
    396
    Par défaut
    sinon il y a bien http://www.symfony-project.org/plugi...BehaviorPlugin, qui est assez sympa...

  12. #12
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2010
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2010
    Messages : 95
    Points : 76
    Points
    76
    Par défaut Problème intégration de Zend dans Symfony
    Bonjour,

    Je me permet de relancer ce post car je me suis lancer dans l'intégration du moteur de recherche de Zend Lucène, en suivant la procédure donné dans le tuto de JobeetJob, mais j'ai une erreur quand je lance une recherche :

    404 | Not Found | sfError404Exception
    Action "search/index" does not exist.

    Quelqu'un aurait il une idée de ce que je pourrais faire pour y remédier ?

    Merci d'avance !

  13. #13
    Expert éminent
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Points : 8 486
    Points
    8 486
    Par défaut
    Erreur classique qui n'a rien a voir avec lucent.

    Tu accèdes à une action d'un module qui n'existe pas. Ici l'action index.

    Modifie soit ton url, soit ta route, soit ton contrôleur (pour y créer l'action) de manière à te diriger là où tu le veux.
    Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).

    • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
    • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
    • Une discussion est terminée ? Alors le bouton est votre ami !

  14. #14
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 3
    Points : 5
    Points
    5
    Par défaut comment indexer les données ?
    Bonjour,
    j'ai créé un moteur de recherche Lucene en suivant le tuto jobeet de symfony. Si j'ai bien compris, pour indexer les données avant de lancer une recherche, il faut lancer la tache
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    symfony doctrine:data-load
    ce qui a pour effet d'intégrer à la base les données contenues dans les fichiers .yml et de les indexer. Ma question c'est y a t'il un moyen avec symfony d'indexer les données déjà existantes dans ma base sans passer par des fichiers .yml ? Car un export de ma base dans ce format avec phpmyadmin donne des fichiers qui ne sont pas bien formatées pour un symfony doctrine:data-load.
    Merci pour votre réponse.

Discussions similaires

  1. [1.x] problème avec Zend Lucene Framework et symfony
    Par flora806 dans le forum Symfony
    Réponses: 2
    Dernier message: 12/05/2011, 15h45
  2. [1.x] Problème recherche Zend Lucene
    Par Despecrew dans le forum Symfony
    Réponses: 1
    Dernier message: 03/03/2011, 10h56
  3. [1.x] Moteur de recherche Zend Lucene
    Par fallais dans le forum Symfony
    Réponses: 0
    Dernier message: 15/09/2010, 16h15
  4. [1.x] recherche avec zend framework
    Par cocote_minote dans le forum Symfony
    Réponses: 4
    Dernier message: 09/09/2010, 15h56
  5. recherche avec lucene
    Par jokers009 dans le forum Général Java
    Réponses: 0
    Dernier message: 23/11/2009, 11h25

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