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;//
} |
Partager