一起使用Solr和Zends Lucene端口

下午的家伙,

在我使用Zend-Lucene-Search进行冒险之后,发现它并不是在为大型数据集编制索引时,我已经转向Solr(感谢Bill Karwin 🙂

我现在已经让Solr将数据库编入索引的速度远远超过了8分钟就可以为一个超过170万行的表编制索引 – 这让我非常满意。

但是,当我尝试使用Zend端口搜索索引时,我遇到以下错误;

致命错误:/var/www/Zend/Search/Lucene.php:407中未捕获的exception’Zend_Search_Lucene_Exception’,消息’不支持的段文件格式’堆栈跟踪:#0 /var/www/Zend/Search/Lucene.php(555 ):Zend_Search_Lucene – > _ readSegmentsFile()#1 /var/www/z_search.php(12):Zend_Search_Lucene – > __ construct(’tmp / feeds_index’)在#var / www / Zend / Search / Lucene中抛出#2 {main} .php在407行

我试图搜索一下但似乎无法找到关于这个问题的任何内容,每个人似乎都能够让他们工作?

任何帮助,因为总是非常感谢:)

谢谢,

汤姆

我在我的机器上确认Zend_Search_Lucene无法读取通过Solr创建的Lucene索引。

当Zend_Search_Lucene检测到它不支持的Lucene索引格式时会抛出该exception。 查看代码,Zend目前支持2.1,2.1和2.3之前的格式。

Solr以FORMAT_HAS_PROX格式创建一个索引,据我所知,Lucene 2.9及更高版本使用了该索引。

之前从未使用过Zend,但我使用过Lucene / Solr。

您是否在Solr索引和Zend端口上使用相同版本的Lucene? 检查每个Lucene jar文件的使用情况。 如果它们不同,那么Solr可能会生成与Zend端口不兼容的Lucene索引。