使用Lucene Search一次搜索多个索引

Ake*_*eem 3 lucene search zend-framework

我正在使用Zend_Search_Lucene来实现站点搜索.我为不同的数据类型创建了单独的索引(例如,一个用于用户,一个用于帖子等).结果类似地按数据类型划分,但是有一个'all'选项应该显示不同结果类型的组合.是否可以一次搜索不同的指数?或者我必须索引所有索引中的所有内容?

更新:ZF 1.8 的自述文件表明现在可以在ZF 1.8中进行,但我无法在文档中找到它的位置.

Ake*_*eem 7

因此,经过一些研究,你必须使用Zend_Search_Lucene_Interface_MultiSearcher.在撰写本文时,我没有在文档中看到任何提及,但是如果你看一下ZF 1.8中的实际类,那么它很容易使用

$index = new Zend_Search_Lucene_Interface_MultiSearcher();
$index->addIndex(Zend_Search_Lucene::open('search/index1'));
$index->addIndex(Zend_Search_Lucene::open('search/index2'));
$index->find('someSearchQuery');
Run Code Online (Sandbox Code Playgroud)

注意,它不遵循PEAR语法,因此不能使用Zend_Loader :: loadClass