一起使用Solr和Zends Lucene端口

时间:2010-04-19 14:36:48

标签: java php solr lucene zend-search-lucene

下午的小伙子,

在我使用Zend-Lucene-Search进行冒险之后,发现在索引大型数据集时并没有完全破解,我转向Solr(感谢Bill Karwin :) :)

我现在让Solr对数据库编制索引的速度要快得多,仅需8分钟就可以为一个超过170万行的表编制索引 - 我非常满意。

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

致命错误:未捕获的异常'Zend_Search_Lucene_Exception',并在/var/www/Zend/Search/Lucene.php:407中显示消息'不支持的段文件格式'。堆栈跟踪:#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')#2 {main}抛出/ var / www /第407行的Zend / Search / Lucene.php

我试图进行搜索,但似乎无法找到有关此问题的任何内容,每个人似乎都能够让它们工作?

任何帮助,总是非常感激:)

谢谢,

汤姆

2 个答案:

答案 0 :(得分:2)

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

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

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

答案 1 :(得分:1)

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

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