Question

Je recherche un moyen fiable de vérifier si un répertoire contient un index Zend_Search_Lucene . Actuellement, le seul moyen de résoudre ce problème est de vérifier le contenu d'une exception renvoyée à l'aide du code suivant:

<?php
try
{
    $newIndex = Zend_Search_Lucene::open( $luceneDir );
} catch ( Zend_Search_Lucene_Exception $e ) {
    if ( strpos( $e->getMessage( ), 'in the specified directory' ) !== false )
    {
        $newIndex = Zend_Search_Lucene::create( $luceneDir );
    }
}
?>

Cette méthode n’est pas idéale et une vérification de l’API ne semble pas très utile. Est-ce que quelqu'un sait s'il existe un moyen simple de voir si $ luceneDir contient un index Zend_Search_Lucene ?

Était-ce utile?

La solution

Vous pouvez d’abord essayer de vérifier s’il existe un fichier de numéro de segment d’index

file_exists($luceneDir.'segments.gen')
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top