我想使用zend lucene刪除文檔。下面是我的代碼Zend Lucene刪除文檔問題
$index = Zend_Search_Lucene::open('data/index');
foreach ($index->find('pk:' . $this->getId()) as $hit) {
$index->delete($hit->id);
}
$index->commit();
當我運行這一點,並檢查了我的索引文件夾有這樣的 _f4t5_1.del創建一個新文件
但是當我做了搜索,被刪除的文件可在搜索並且還檢查了
$ index-> numDocs();
此方法在刪除前後也返回相同的計數。
任何幫助表示讚賞。
我試圖優化索引。經過優化後,它將類似擴展名爲.del的文件刪除,但是在搜索索引時,刪除的文檔也會在搜索結果中返回。 –
爲什麼不循環並使用'$ index-> isDeleted($ id)'從搜索結果中刪除已刪除的文檔。 – JSuar