Précédent   Forum des professionnels en informatique > PHP > Outils > Zend > Zend Framework > Autres composants
Autres composants Forum de support sur les autres composants de Zend Framework.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/03/2008, 10h07   #1
Invité régulier
 
Inscription : mars 2008
Messages : 39
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 39
Points : 7
Points : 7
Par défaut Utilisation de zend_search_lucene

bonjour, je suis débutante dans l'utilisation de Zend, je voudrais créer un moteur de recherche mais j'ai du mal à faire l'indexage, est-ce que mes fichiers sont bien tous indexés ? (pour l'instant j'ai fait directement avec les URL)
voici mon index.php :
Code :
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
require_once ('Zend/Search/Lucene.php');
$index = new Zend_Search_Lucene('./donnees/mon-index', true); 
$doc = new Zend_Search_Lucene_Document();
 
$docUrl1="E:/i3/www/Apache2/htdocs/helene/search/doc1.doc";
$docUrl2="E:/i3/www/Apache2/htdocs/helene/search/doc2.doc";
$docUrl3="E:/i3/www/Apache2/htdocs/helene/search/doc3.doc";
 
// Stocke l'URL du document pour l'identifier dans un résultat de recherche.
$doc->addField(Zend_Search_Lucene_Field::Text('url', $docUrl1));
$doc->addField(Zend_Search_Lucene_Field::Text('url', $docUrl2));
$doc->addField(Zend_Search_Lucene_Field::Text('url', $docUrl3));
 
$docContent1 = file_get_contents($docUrl1); //Lit tout un fichier dans une chaîne
$docContent2 = file_get_contents($docUrl2);
$docContent3 = file_get_contents($docUrl3);
 
// Contenu du document d'index
$doc->addField(Zend_Search_Lucene_Field::UnStored('contents', $docContent1));
$doc->addField(Zend_Search_Lucene_Field::UnStored('contents', $docContent2));
$doc->addField(Zend_Search_Lucene_Field::UnStored('contents', $docContent3));
 
$index->addDocument($doc);
 
$index->commit();
et comment faire une recherche ? , pour l'instant j'ai fait ça mais ça ne marche pas :
Code :
1
2
3
$term  = new Zend_Search_Lucene_Index_Term('test'); // test est le mot que je veux trouver
$query = new Zend_Search_Lucene_Search_Query_Term($term);
$hits  = $index->find($query);
aidez moi s'il vous plait
helene_53 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2008, 13h09   #2
Membre Expert
 
Avatar de nicolas.sitbon
 
Inscription : août 2007
Messages : 2 024
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : août 2007
Messages : 2 024
Points : 2 117
Points : 2 117
Attention Zend_Search_Lucene est un moteur de recherche textuelle hors les formats propriétaires de Microsoft stockent leur contenu dans un codage particulier et non pas "text", donc tu dois d'abord décodé le contenu et ensuite seulement l'indexer.
nicolas.sitbon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2008, 13h23   #3
Invité régulier
 
Inscription : mars 2008
Messages : 39
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 39
Points : 7
Points : 7
ah d'accord , mais comment on fait pour décoder le contenu ?
helene_53 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2008, 14h21   #4
Membre Expert
 
Avatar de nicolas.sitbon
 
Inscription : août 2007
Messages : 2 024
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : août 2007
Messages : 2 024
Points : 2 117
Points : 2 117
Soit tu trouves une extensions php capable de le faire (j'imagine que ça doit exister puique c'est le cas pour les fichiers excel) jètes un coup d'oeil dans les dépôts de PEAR et PECL sinon tu peux l'implémenter toi même à partir de la documentation voir le site http://www.wotsit.org/ pour ça.
Cordialement.
nicolas.sitbon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2008, 14h38   #5
Invité régulier
 
Inscription : mars 2008
Messages : 39
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 39
Points : 7
Points : 7
Je vais aller voir sur ce site.
Apparemment tu sais comment faire pour extraire le contenu d'un fichier excel, je ne serais pas contre une petite explication car je vais aussi en avoir besoin
Merci
helene_53 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2008, 15h05   #6
Membre Expert
 
Avatar de nicolas.sitbon
 
Inscription : août 2007
Messages : 2 024
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : août 2007
Messages : 2 024
Points : 2 117
Points : 2 117
Le plus simple : http://sourceforge.net/projects/phpe...C2%A0%C2%A0but
Cordialement.
nicolas.sitbon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/03/2008, 11h01   #7
Invité régulier
 
Inscription : mars 2008
Messages : 39
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 39
Points : 7
Points : 7
bonjour, j'ai trouvé une extension PECL : fileinfo.dll , j'aimerais savoir si elle me permettra de décoder les contenus des fichiers .doc, .xls ...
et aussi comment l'installer dans Zend ?
cordialement.
helene_53 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/03/2008, 11h12   #8
Membre Expert
 
Avatar de nicolas.sitbon
 
Inscription : août 2007
Messages : 2 024
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : août 2007
Messages : 2 024
Points : 2 117
Points : 2 117
montre nous le lien où tu as trouvez cette extension sinon jettes un coup d'oeil ici http://www.jellyandcustard.com/2006/...-pecl-modules/
nicolas.sitbon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/03/2008, 11h19   #9
Invité régulier
 
Inscription : mars 2008
Messages : 39
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 39
Points : 7
Points : 7
voici le lien où j'ai trouvé l'extension fileinfo.dll
pecl.php.net/package/Fileinfo
helene_53 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/03/2008, 11h26   #10
Membre Expert
 
Avatar de nicolas.sitbon
 
Inscription : août 2007
Messages : 2 024
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : août 2007
Messages : 2 024
Points : 2 117
Points : 2 117
Citation:
Envoyé par helene_53 Voir le message
j'aimerais savoir si elle me permettra de décoder les contenus des fichiers .doc, .xls ...
Certainement pas.
nicolas.sitbon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/03/2008, 11h31   #11
Invité régulier
 
Inscription : mars 2008
Messages : 39
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 39
Points : 7
Points : 7
j'ai placé fileinfo.dll sous .\zend\lib\phpext\fileinfo.dll (avec toutes les autres dll) et cette erreur apparaît :
Warning: dl() [function.dl]: Invalid library (maybe not a PHP library) 'fileinfo.dll' in E:\i3\www\Apache2\htdocs\helene\search\index.php on line 41
fileinfo extension is not avaliable, please compile it.

la ligne concernée est celle ci : if(!extension_loaded('fileinfo')) {dl 'fileinfo.' . PHP_SHLIB_SUFFIX);


je sais qu'il faut rajouté la ligne extension=php_fileinfo.dll dans la section Windows Extensions du php.ini, mais je ne comprend pas cela, où dois-je mettre cette ligne ? et est-ce bien dans \zend\etc\php.ini ?
cordialement
helene_53 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/03/2008, 11h33   #12
Invité régulier
 
Inscription : mars 2008
Messages : 39
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 39
Points : 7
Points : 7
ah ok j'étais sur une mauvaise piste alors !!!
merci de me l'avoir dit.
helene_53 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/03/2008, 13h45   #13
Invité régulier
 
Inscription : mars 2008
Messages : 39
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 39
Points : 7
Points : 7
la librairie POI serait-elle la solution ?
j'ai trouvé ce site : http://poi.apache.org/
cordialement
helene_53 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/03/2008, 14h00   #14
Membre Expert
 
Avatar de nicolas.sitbon
 
Inscription : août 2007
Messages : 2 024
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : août 2007
Messages : 2 024
Points : 2 117
Points : 2 117
ça nécessite d'avoir java, je te conseille plutôt d'apprendre à te servir d'OLE : http://pear.php.net/package/OLE
nicolas.sitbon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/03/2008, 13h25   #15
Invité régulier
 
Inscription : mars 2008
Messages : 39
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 39
Points : 7
Points : 7
bonjour, je vais installer POI et le serveur Tomcat (étant dans le cadre d'un stage, ceci m'a été conseillé par mon maitre de stage)
cordialement
helene_53 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/03/2008, 14h11   #16
Membre Expert
 
Avatar de nicolas.sitbon
 
Inscription : août 2007
Messages : 2 024
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : août 2007
Messages : 2 024
Points : 2 117
Points : 2 117
Ah je n'avais pas compris que POI était une appli WEB tu en es sûre?
nicolas.sitbon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/03/2008, 16h05   #17
Invité régulier
 
Inscription : mars 2008
Messages : 39
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 39
Points : 7
Points : 7
moi j'avoue que je suis perdue, voire même complètement larguée.
Mon maître de stage m'a dit d'installer Tomcat, ce que j'ai fait, je vais installer POI (qui, normalement me premettra de rechercher dans des fichiers .doc, .xls ...)
helene_53 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/03/2008, 16h23   #18
Membre Expert
 
Avatar de nicolas.sitbon
 
Inscription : août 2007
Messages : 2 024
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : août 2007
Messages : 2 024
Points : 2 117
Points : 2 117
Je confirme, après téléchargment de POI, il ne s'agit pas d'une appli WEB donc pas la peine d'installer tomcat ou un autre serveur d'appli, le JRE fera l'affaire.
Cordialement.
nicolas.sitbon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/03/2008, 16h38   #19
Invité régulier
 
Inscription : mars 2008
Messages : 39
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 39
Points : 7
Points : 7
euhhh
peut -tu m'expliquer tout ça s'il te plait?
je dois faire un système d'indexage et de recherche dans tous types de fichiers (.doc, .xls, .pdf), pour ça je dois décoder les contenus de ces fichiers et tu dis que je n'ai pas besoin de POI ni de Tomcat !!!
helene_53 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/03/2008, 16h41   #20
Membre Expert
 
Avatar de nicolas.sitbon
 
Inscription : août 2007
Messages : 2 024
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : août 2007
Messages : 2 024
Points : 2 117
Points : 2 117
Non je dis que POI n'a pas besoin de tomcat pour fonctionner.
nicolas.sitbon est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h44.


 
 
 
 
Partenaires

Hébergement Web