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

Autres composants PHP Discussion :

Utilisation de Zend_Search_Lucene


Sujet :

Autres composants PHP

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 488
    Par défaut Utilisation de Zend_Search_Lucene
    Bonjour,

    Voilà j'ai une table MySql de CV.
    Cette table contient un certain nombre d'information dont le nom du cv en question.

    J'aimerai pouvoir faire une recherche fulltext dans ces fichiers.
    Je dois donc d'abord pouvoir les indexer, c'est pourquoi j'aimerai utiliser Zend_Search_Lucene.
    Les cvs sont au format doc, docx, pdf, txt et jpeg.

    1) Pourrai-je le faire avec Zend_Search_Lucene? Et si oui comment?
    2) A quel moment mettre en place l'indexation dans mon programme?

    Merci d'avance pour votre aide.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 488
    Par défaut
    J'ai bien avancé, j'ai créer un contrôleur permettant de créer l'index et d'effectuer une petite recherche pour voir s'il indexe bien.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
     public function fullsearchAction(){
     
     
                $folder = "APPLICATION_PATH."cvtheque";
                $dossier = opendir($folder);
                $filePathDoc=array();
                while ($Fichier = readdir($dossier)) {
     
                  if ($Fichier != "." && $Fichier != "..") {
                    $nomFichier = $folder."/".$Fichier;
                    $extension=strrchr($nomFichier,'.');
                    $extension=substr($extension,1);
     
                    if(($extension =="docx") || ($extension =="doc"))
                    {
                        //echo $nomFichier."<BR>";
                        array_push($filePathDoc,$nomFichier);
                    }
                  }
                }
                //print_r($filePathDoc);
                closedir($dossier);
     
     
                $indexPath = APPLICATION_PATH."cvtheque/docindex";
                $index = Zend_Search_Lucene::create($indexPath);
                foreach ($filePathDoc as $path) {
                    $doc = Zend_Search_Lucene_Document_Docx::loadDocxFile($path);
                    $index->addDocument($doc);
                }
                $index->commit();
                $index->optimize();
     
     
                /*** Recherche ***/
     
                $query = new Zend_Search_Lucene_Search_Query_MultiTerm();
                $query->addTerm(new Zend_Search_Lucene_Index_Term('test'), true);
     
                $hits = $index->find($query);
     
                foreach ($hits as $hit) {
     
                    //printf("%d %f %s\n", $hit->id, $hit->score, $hit->title);
                    echo  $hit->title."<br>";
                }
     
                $numHits = count($hits); // Renvoie le nombre de résultat présent
     
                echo "Résultat:".$numHits;// 
     
           }
    Ca fonctionne bien seulement j'aimerai savoir s'il était d'indexer des fichiers word 2003 (.doc) avec Zend_Search_Lucene?

    Merci d'avance.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 488
    Par défaut Indexer 5000 documents avec Zend_search_lucene
    Bonjour,

    J'ai plus de 5000 documents a indexer avec Zend_Search_Lucene.
    Seulement et bizarrement l'indexation s'arrête au 1600 ème document.

    J'ai essayé de contourner le problème à l'aide des méthodes :
    setMaxBufferedDocs() et setMergeFactor() sans meilleur résultat.

    Voici mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
                   $indexPath = APPLICATION_PATH."/cvtheque/docindex";
     
     
    				if (is_dir($indexPath)) {
    					$index = Zend_Search_Lucene::open($indexPath);
    					$index->optimize();
    				}
    				else
    				{
    					$index = Zend_Search_Lucene::create($indexPath);
    					$index->optimize();
    				}
     
    				$num=count($filePathDocx);
    				echo $num;
    				$i=0;
    				$index->setMaxBufferedDocs(100);
    				$index->setMergeFactor(100); 
    				$index->optimize();
                    foreach ($filePathDocx as $pathDocx) {
    					$doc = Zend_Search_Lucene_Document_Docx::loadDocxFile($pathDocx);
    					$index->addDocument($doc);
     
     
     
     
    					$i=$i+1;
    					echo $i;
    				}
    				$indexSize = $index->count();
    				echo $indexSize;
    Pour info, l' ne s'affiche jamais vu que ma boucle foreach n'atteint jamais le dernier enregistrement.

    Merci d'avance pour vos réponse.

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 5
    Par défaut
    Bonjour,

    Peut être ne s'agit il que d'une action trop longue pour le temps d'exécution définit dans votre php.ini ?

Discussions similaires

  1. Utilisation de zend_search_lucene
    Par helene_53 dans le forum Autres composants
    Réponses: 24
    Dernier message: 30/09/2009, 13h03
  2. utiliser les tag [MFC] [Win32] [.NET] [C++/CLI]
    Par hiko-seijuro dans le forum Visual C++
    Réponses: 8
    Dernier message: 08/06/2005, 15h57
  3. utilisation du meta type ANY
    Par Anonymous dans le forum CORBA
    Réponses: 1
    Dernier message: 15/04/2002, 12h36
  4. [BCB5] Utilisation des Ressources (.res)
    Par Vince78 dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/04/2002, 16h01
  5. Réponses: 2
    Dernier message: 20/03/2002, 23h01

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