Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 09-12-2010 17:34:41

Hall
Membre
Date d'inscription: 23-08-2010
Messages: 54

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.
Les fichiers sont stockés dans un répertoire.

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.

Dernière modification par Hall (13-12-2010 10:31:22)

Hors ligne

 

#2 13-12-2010 10:31:33

Hall
Membre
Date d'inscription: 23-08-2010
Messages: 54

Re: Utilisation de Zend_Search_Lucene

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:

 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.

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages