Bonjour,
J'ai fait un programme qui crée un index Lucene pour un site existant. Voici le programme en résumé :
Le programme et la recherche fonctionnent bien sur mon serveur. La recherche ressemble à ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 $index = Zend_Search_Lucene::create ( "idxPP/" ); addDocument($index,'http://www.xyz.com/index.php','Accueil','html'); $index->commit (); function addDocument(&$index, $url, $titre, $type) { $doc = Zend_Search_Lucene_Document_Html::loadHTMLFile ( $url ); $doc->addField ( Zend_Search_Lucene_Field::UnIndexed ( 'url', $url ) ); $doc->addField ( Zend_Search_Lucene_Field::UnIndexed ( 'titre', $titre ) ); $doc->addField ( Zend_Search_Lucene_Field::UnIndexed ( 'type', $type ) ); $index->addDocument ( $doc ); }
Si je déploie le même code sur le serveur de mon client, l'indexation fonctionne mais les les champs ajoutés avec addField() n'existent tout simplement pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 $index = Zend_Search_Lucene::open ( "idxPP/" ); $term = new Zend_Search_Lucene_Index_Term ( 'mot', 'body' ); $query = new Zend_Search_Lucene_Search_Query_Term ( $term ); $hits = $index->find ( $query ); if ($hits){ foreach ( $hits as $hit ) { echo '<h2>' . $hit->titre .':'.$hit->score .'</h2>'; echo '<p><a href="' . $hit->url . '">' . $hit->url . '</a></p>'; } }
Les deux serveurs sont assez semblables: PHP 5.2.5 pour mon serveur et 5.2.6 pour mon client.
Est-ce que quelqu'un aurait une piste?
Merci
Jean
Partager