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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 82
    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
    Membre averti
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 28
    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 confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 82
    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 confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    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
    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

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

    Informations forums :
    Inscription : Avril 2010
    Messages : 28
    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 confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    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
    Par défaut
    Information intéressante a noter.

    Tu peux donner le nom du plugin ?

    Et si cela marche, utiliser le bouton résolu ?

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