如何调用Zend lucene搜索功能?

时间:2009-12-04 11:30:35

标签: php zend-framework lucene zend-search-lucene

我继承了一个没有评论的Zend项目,我没有和之前的开发人员交谈过。由于我没有Zend经验,我遇到了一些问题:)

我想在使用Zend_Search_Lucene索引来自网站的项目的函数中打印出一些变量,因为我觉得这里出了问题。

根据我的阅读,:: create创建了一个新索引,并且:: open更新了它。所以在这个:: open函数中我想打印出一些变量。

该功能的名称和参数如下。有没有人知道如何调用这个函数所以我可以运行一些测试?

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

编辑:或者,有没有办法可以核实现有索引并强制它完全重建,例如删除FS上的索引文件,然后执行一些搜索?

2 个答案:

答案 0 :(得分:0)

以下是从头开始创建索引的一些代码:

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();

...不记得我从哪里获得了标准分析仪...

答案 1 :(得分:0)

好例子 - ZendFramework-1.9.6/demos/Zend/Search/Lucene

ZF full distro