下午的小伙子,
在我使用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
我试图进行搜索,但似乎无法找到有关此问题的任何内容,每个人似乎都能够让它们工作?
任何帮助,总是非常感激:)
谢谢,
汤姆
答案 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索引。