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

Zend Framework PHP Discussion :

Zend Search Lucene


Sujet :

Zend Framework PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Inscrit en
    Septembre 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 2
    Par défaut Zend Search Lucene
    Bonjour à tous, volià je mets en place un moteur de recherche avec le module Zend_Search_Lucene.
    Première question : est-il bien adapté pour une recherche dans une base sachant qu'il a la particularité d'indexé lui même le contenu à rechercher...

    Autrement j'ai quelques problèmes :

    Je souhaite indexé chaque nouvelle entré dans une table où sont enregistrés l'artiste et le nom de son album. (cas très simple pour un exercice).

    A chaque nouvelle entrée j'indexe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    if ( ! file_exists($this->pathFile) ){
    	$index = new Zend_Search_Lucene($this->pathFile,true);
    } else {
    	$index = new Zend_Search_Lucene($this->pathFile);
    }				
    $doc = new Zend_Search_Lucene_Document();
    $doc->addField(Zend_Search_Lucene_Field::UnIndexed('created', time()));
    $doc->addField(Zend_Search_Lucene_Field::Text('title',$title,$this->_charset));
    $doc->addField(Zend_Search_Lucene_Field::Text('artist',$artist,$this->_charset));
    $index->addDocument($doc);
    Pour la recherche dans l'index j'effectue l'action suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    public function rechercherAction() {
     
         $index = new Zend_Search_Lucene($this->pathFile);
         $query = $this->_request->getPost('search_field');
         $hits = $index->find($query);
         $this->view->results=$hits;
         //echo count($hits);		
    }
    Et pour l'affichage une simple boucle pour test :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    foreach($this->results as $hit) {
    	echo $hit->artist;
    }
    Résultat : RIEN, rien ne s'affiche $hits est désespérément vide !
    Si vous avez une idée ? ...

    Merci de votre aide.

    a+ Fred

  2. #2
    Candidat au Club
    Inscrit en
    Septembre 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 2
    Par défaut
    Désolé, j'ai trouvé moi même la solution, il me manquait dans mon indexation $index->commit();

    Voilà, a++ Fréd

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Zend Search Lucene et la comparaison de dates
    Par zouberi dans le forum Zend Framework
    Réponses: 0
    Dernier message: 22/01/2014, 15h07
  2. [1.x] symfony zend search recherche multi tables
    Par jihane.bahadi dans le forum Symfony
    Réponses: 0
    Dernier message: 07/09/2012, 00h09
  3. [ZF 1.11] zend search lucene
    Par bozeclair dans le forum Zend Framework
    Réponses: 1
    Dernier message: 21/06/2012, 12h00
  4. [Zend Search Lucene] Lenteur lors d'une recherche
    Par rehren dans le forum Zend Framework
    Réponses: 3
    Dernier message: 03/12/2010, 09h09
  5. Zend Search Lucene très lent
    Par adpoli dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 0
    Dernier message: 16/04/2010, 18h55

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