2010-04-19 38 views
5

下午CHAPS,使用的Solr和Lucene的Zends一起端口

我的故事與Zend-的Lucene搜索後,發現這是不是所有的破獲索引大型數據集的時候要,我轉身到Solr (感謝比爾卡爾文:) :)

我已經索爾索引數據庫遠遠更快現在,只需超過8分鐘索引表超過170萬行 - 我很滿意。

但是,當我試圖用Zend端口搜索索引時,遇到以下錯誤;

致命錯誤:在/var/www/Zend/Search/Lucene.php:407堆棧跟蹤:#0/var/www/Zend/Search/Lucene中帶有'Unsupported segments file format'消息的未捕獲異常'Zend_Search_Lucene_Exception' .php(555):Zend_Search_Lucene - > _ readSegmentsFile()#1 /var/www/z_search.php(12):Zend_Search_Lucene - > __ construct('tmp/feeds_index')#2 {main}拋出/ var/www/Zend /Search/Lucene.php on line 407

我試過搜索一下,但似乎無法找到任何有關此問題的信息,似乎每個人似乎都可以讓他們工作?

任何幫助一如既往感激:)

感謝,

湯姆

回答

2

我在我的機器上確認通過Solr創建的Lucene索引不能被Zend_Search_Lucene讀取。

Zend_Search_Lucene在檢測到它不支持的Lucene索引格式時拋出該異常。看看代碼,Zend目前支持2.1,2.1和2.3版本之前的格式。

Solr創建一個格式爲FORMAT_HAS_PROX的索引,據我所知,它被Lucene 2.9和更高版本使用。

+0

啊啊垃圾。那麼我認爲沒有工作嗎?我猜他們不會很快更新Zend代碼。看起來我會推動Jetty/Tomcat服務器。 – Tom 2010-04-21 08:11:44

+1

我認爲一旦你運行起來,你一定會更開心。我唯一的建議是嘗試查看是否可以強制Solr以2.3格式創建Lucene索引。但我不知道如何做到這一點。 – 2010-04-21 18:12:45

1

從來沒有使用Zend的,但我用的Lucene/Solr的。

您是否對Solr索引和Zend端口使用相同版本的Lucene?檢查一下每個Lucene jar文件的使用情況。如果它們不同,那麼Solr可能會生成一個與Zend端口不兼容的Lucene索引。

+0

很可能Solr的索引versuin比Zend更先進。您可能需要考慮採取額外步驟,使用Solr進行搜索,並通過HTTP接口(如XML或JSON)與PHP進行通信。 – 2010-04-20 04:59:14

+0

我們曾考慮過,唯一的問題是我們不確定在我們的實時服務器上運行Jetty/Tomcat的可能性。該計劃是在本地索引數據庫,然後每隔x天上傳一次。我會考慮Zend和Solr的Lucene版本,並確保它們從同一首讚美詩歌曲中演唱。 – Tom 2010-04-20 08:03:25