我已閱讀此問題 Creating and updating Zend_Search_Lucene indexes。更新Zend的索引文件搜索Lucene索引
但它未能回答我的問題。來自zend的This文章告訴說,更新文檔是不可能的。要有效更新,每個文檔都必須刪除並重新編制索引。
$removePath = ...;
$hits = $index->find('path:' . $removePath);
foreach ($hits as $hit) {
$index->delete($hit->id);
}
現在,這不適用於我。我給了$removePath
中的索引Path並嘗試了代碼。它沒有工作。如果我使用的東西相對於我特定的索引,如$index->find("title:test");
它拋出
Fatal error: Exception thrown without a stack frame in Unknown on line 0
我也使用
$query = new Zend_Search_Lucene_Search_Query_Term(new Zend_Search_Lucene_Index_Term('test', 'title'));
$hits = $this -> index->find($query);
嘗試,但它給了相同的結果。
我甚至不知道如何調試該類型的錯誤。即使它被調試,我只會得到搜索的項目,而不是所有的文件。所以,所有的文件都不會被刪除。
任何人都可以告訴我我做錯了什麼。如何更新您的搜索索引?
請問您可以張貼索引處於開放狀態的部分嗎? – opHASnoNAME 2011-04-12 05:16:30