From ae0c641865c817af60ff51f1309768c205d6a6fb Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Sun, 19 Mar 2023 09:16:49 +0100 Subject: [PATCH 1/2] add note for pdftotext --- doc/README.Converters | 3 +++ 1 file changed, 3 insertions(+) diff --git a/doc/README.Converters b/doc/README.Converters index 508bf46ae..034358ccf 100644 --- a/doc/README.Converters +++ b/doc/README.Converters @@ -9,6 +9,9 @@ application/csv application/pdf pdftotext -nopgbrk %s - | sed -e 's/ [a-zA-Z0-9.]\{1\} / /g' -e 's/[0-9.]//g' + If pdftotext takes too long on large document you may want to pass parameter + -l to specify the last page to be converted + mutool draw -F txt -q -N -o - %s application/vnd.openxmlformats-officedocument.wordprocessingml.document From 197a6e8824a5d876f4d76c1da2137c6c5d57abb9 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Sun, 19 Mar 2023 09:17:08 +0100 Subject: [PATCH 2/2] set various callbacks to reindex document when it has changed --- inc/inc.FulltextInit.php | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/inc/inc.FulltextInit.php b/inc/inc.FulltextInit.php index 53cfec9a5..84b9d2930 100644 --- a/inc/inc.FulltextInit.php +++ b/inc/inc.FulltextInit.php @@ -6,6 +6,20 @@ function getAttributesCallback($dms) { }; } +function reindexDocumentOrFolderCallback($fulltextservice, $object) { + if($fulltextservice && ($index = $fulltextservice->Indexer())) { + $lucenesearch = $fulltextservice->Search(); + if($object->isType('document')) + $hit = $lucenesearch->getDocument($object->getId()); + elseif($object->isType('folder')) + $hit = $lucenesearch->getFolder($object->getId()); + if($hit) { + $index->reindexDocument($hit->id); + $index->commit(); + } + } +} + $fulltextservice = null; if($settings->_enableFullSearch) { require_once("inc.ClassFulltextService.php"); @@ -62,5 +76,13 @@ if($settings->_enableFullSearch) { if($conversionmgr) $txtpreviewer->setConversionMgr($conversionmgr); $fulltextservice->setPreviewer($txtpreviewer); + + $dms->addCallback('onPostSetFolder', 'reindexDocumentOrFolderCallback', $fulltextservice); + $dms->addCallback('onPostSetName', 'reindexDocumentOrFolderCallback', $fulltextservice); + $dms->addCallback('onPostSetComment', 'reindexDocumentOrFolderCallback', $fulltextservice); + $dms->addCallback('onPostSetKeywords', 'reindexDocumentOrFolderCallback', $fulltextservice); + $dms->addCallback('onPostSetKategories', 'reindexDocumentOrFolderCallback', $fulltextservice); + $dms->addCallback('onPostAddKategories', 'reindexDocumentOrFolderCallback', $fulltextservice); + $dms->addCallback('onPostRemoveKategories', 'reindexDocumentOrFolderCallback', $fulltextservice); }