Sto tentando di eliminare un documento utilizzando zend lucene. Quanto segue è il mio codiceZend Lucene Elimina documento Numero
$index = Zend_Search_Lucene::open('data/index');
foreach ($index->find('pk:' . $this->getId()) as $hit) {
$index->delete($hit->id);
}
$index->commit();
Quando ho eseguito questo e controllato la mia cartella di indice che c'è un nuovo file creato in questo modo _f4t5_1.del
Ma quando faccio una ricerca, il documento eliminato è disponibile in la ricerca e anche controllato il
$ index-> numDocs();
Questo metodo restituisce anche lo stesso conteggio prima e dopo l'eliminazione.
Qualsiasi aiuto è apprezzato.
Ho provato a ottimizzare l'indice. Una volta ottimizzato, ha rimosso i file come con estensione .del, ma quando è stato cercato nell'indice, i documenti eliminati vengono anche restituiti nei risultati della ricerca. –
Perché non eseguire il ciclo e utilizzare '$ index-> isDeleted ($ id)' per rimuovere i documenti eliminati dai risultati della ricerca. – JSuar