我正在寻找一种可靠的方法来检查目录是否包含 Zend_Search_Lucene 索引。目前,我设法解决的唯一方法是使用以下代码检查返回给我的异常的内容:

<?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 );
    }
}
?>

这种方法并不理想,检查API似乎没什么用处。有没有人知道是否有一种简单的方法来查看$ luceneDir是否包含 Zend_Search_Lucene 索引?

有帮助吗?

解决方案

您可能首先尝试检查是否存在索引段编号文件

file_exists($luceneDir.'segments.gen')
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top