Ich versuche ein Dokument mit Zend Lucene zu löschen. Im Folgenden ist mein CodeZend Lucene Dokument löschen Problem
$index = Zend_Search_Lucene::open('data/index');
foreach ($index->find('pk:' . $this->getId()) as $hit) {
$index->delete($hit->id);
}
$index->commit();
Als ich das laufen und überprüfte meine Index-Ordner eine neue Datei wie diese _f4t5_1.del erstellt ist
Aber wenn ich eine Suche, das gelöschte Dokument verfügbar ist in die Suche und auch überprüft
$ index-> numDocs();
Diese Methode gibt auch die gleiche Anzahl vor und nach dem Löschen zurück.
Jede Hilfe wird geschätzt.
Ich habe versucht, den Index zu optimieren. Bei der Optimierung wurden die Dateien wie bei der Erweiterung .del entfernt, aber beim Durchsuchen des Index werden die gelöschten Dokumente auch in den Suchergebnissen zurückgegeben. –
Warum nicht durchlaufen und verwenden Sie $ index-> isDeleted ($ id) ', um die gelöschten Dokumente aus den Suchergebnissen zu entfernen. – JSuar