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 averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 39
    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 : 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
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  2. #2
    Membre Expert Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Par défaut
    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.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 39
    Par défaut
    ah d'accord , mais comment on fait pour décoder le contenu ?

  4. #4
    Membre Expert Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Par défaut
    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.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 39
    Par défaut
    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

  6. #6
    Membre Expert Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 39
    Par défaut
    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.

  8. #8
    Membre Expert Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Par défaut
    montre nous le lien où tu as trouvez cette extension sinon jettes un coup d'oeil ici http://www.jellyandcustard.com/2006/...-pecl-modules/

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 39
    Par défaut
    voici le lien où j'ai trouvé l'extension fileinfo.dll
    pecl.php.net/package/Fileinfo

  10. #10
    Membre Expert Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Par défaut
    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.

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 39
    Par défaut
    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

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 39
    Par défaut
    ah ok j'étais sur une mauvaise piste alors !!!
    merci de me l'avoir dit.

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 39
    Par défaut
    la librairie POI serait-elle la solution ?
    j'ai trouvé ce site : http://poi.apache.org/
    cordialement

  14. #14
    Membre Expert Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Par défaut
    ça nécessite d'avoir java, je te conseille plutôt d'apprendre à te servir d'OLE : http://pear.php.net/package/OLE

  15. #15
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 39
    Par défaut
    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

  16. #16
    Membre Expert Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Par défaut
    Ah je n'avais pas compris que POI était une appli WEB tu en es sûre?

  17. #17
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 39
    Par défaut
    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 ...)

  18. #18
    Membre Expert Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Par défaut
    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.

  19. #19
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 39
    Par défaut
    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 !!!

  20. #20
    Membre Expert Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Par défaut
    Non je dis que POI n'a pas besoin de tomcat pour fonctionner.

Discussions similaires

  1. [ZF 1.9] Utilisation de Zend_Search_Lucene
    Par sheira dans le forum Autres composants
    Réponses: 3
    Dernier message: 04/05/2011, 23h22
  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, 16h57
  3. utilisation du meta type ANY
    Par Anonymous dans le forum CORBA
    Réponses: 1
    Dernier message: 15/04/2002, 13h36
  4. [BCB5] Utilisation des Ressources (.res)
    Par Vince78 dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/04/2002, 17h01
  5. Réponses: 2
    Dernier message: 21/03/2002, 00h01

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