2009-12-04 5 views
1

J'ai hérité d'un projet Zend dépourvu de commentaires et je n'ai pas eu l'occasion de parler au développeur précédent. Comme je n'ai pas d'expérience Zend j'ai quelques problèmes :)Comment appeler une fonction de recherche Zend lucene?

Je voudrais imprimer quelques variables dans une fonction qui indexe des éléments du site en utilisant Zend_Search_Lucene parce que je pense que quelque chose ne va pas ici. D'après ce que j'ai lu, :: create crée un nouvel index et :: open le met à jour. C'est donc dans cette fonction :: ouverte que j'aimerais imprimer quelques variables.

Le nom et les paramètres de la fonction sont indiqués ci-dessous. Est-ce que quelqu'un a une idée de comment cette fonction peut être appelée afin que je puisse faire des tests?

private function search($category,$string,$page = 1,$itemsByPage = 5) 

EDIT: Ou, est-il un moyen que je peux atomiser l'index existant et le forcer à être reconstruit complètement, par exemple en supprimant les fichiers d'index sur les FS, puis effectuer des recherches?

+0

:: create supprime un index s'il existe –

Répondre

0

est ici un code pour créer un index à partir de zéro:

Zend_Search_Lucene_Analysis_Analyzer::setDefault(new StandardAnalyzer_Analyzer_Standard_English()); 

$tmpIndexDir = '/your/index/dir/' 
$index = Zend_Search_Lucene::create($tmpIndexDir); 

foreach($myObjects as $myObject){ 

    $doc = new Zend_Search_Lucene_Document(); 
    $doc->addField(Zend_Search_Lucene_Field::UnIndexed('objectId', $myObject->getId())); 
    $contents = $myObject->toString(); 
    $contentsField = Zend_Search_Lucene_Field::Text('contents', $contents); 
    $doc->addField($contentsField); 
    $index->addDocument($doc); 
} 

$index->optimize(); 

... ne me souviens pas où je suis l'analyseur standard à partir de ...