remove old document/folder from index before adding a new one

This commit is contained in:
Uwe Steinmann 2021-01-08 10:07:12 +01:00
parent 4bc32501b8
commit e328c3c04e
4 changed files with 14 additions and 4 deletions

View File

@ -1,6 +1,8 @@
--------------------------------------------------------------------------------
Changes in version 5.1.22
--------------------------------------------------------------------------------
- remove document/folder from index before adding a new one after editing the
meta data
--------------------------------------------------------------------------------
Changes in version 5.1.21

View File

@ -165,6 +165,10 @@ class SeedDMS_Controller_EditDocument extends SeedDMS_Controller_Common {
if($fulltextservice && ($index = $fulltextservice->Indexer()) && $document) {
$idoc = $fulltextservice->IndexedDocument($document);
if(false !== $this->callHook('preIndexDocument', $document, $idoc)) {
$lucenesearch = $fulltextservice->Search();
if($hit = $lucenesearch->getDocument((int) $document->getId())) {
$index->delete($hit->id);
}
$index->addDocument($idoc);
$index->commit();
}

View File

@ -93,6 +93,10 @@ class SeedDMS_Controller_EditFolder extends SeedDMS_Controller_Common {
if($fulltextservice && ($index = $fulltextservice->Indexer()) && $folder) {
$idoc = $fulltextservice->IndexedDocument($folder);
if(false !== $this->callHook('preIndexFolder', $folder, $idoc)) {
$lucenesearch = $fulltextservice->Search();
if($hit = $lucenesearch->getFolder((int) $folder->getId())) {
$index->delete($hit->id);
}
$index->addDocument($idoc);
$index->commit();
}

View File

@ -77,12 +77,12 @@ class SeedDMS_Controller_UpdateDocument extends SeedDMS_Controller_Common {
}
if($fulltextservice && ($index = $fulltextservice->Indexer()) && $content) {
$lucenesearch = $fulltextservice->Search();
if($hit = $lucenesearch->getDocument((int) $document->getId())) {
$index->delete($hit->id);
}
$idoc = $fulltextservice->IndexedDocument($document);
if(false !== $this->callHook('preIndexDocument', $document, $idoc)) {
$lucenesearch = $fulltextservice->Search();
if($hit = $lucenesearch->getDocument((int) $document->getId())) {
$index->delete($hit->id);
}
$index->addDocument($idoc);
$index->commit();
}