Bonjour,

J'ai fait un programme qui crée un index Lucene pour un site existant. Voici le programme en résumé :

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 );
}
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::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>';
	}
}
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.

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