nextcloud / fulltextsearch

šŸ” Core of the full-text search framework for Nextcloud
GNU Affero General Public License v3.0
212 stars 51 forks source link

fulltextsearch failing to index documents after 19.0.6 -> 20.0.3 update #597

Open epvuc opened 3 years ago

epvuc commented 3 years ago

fulltextsearch is failing to index new documents on update from 19.0.6 to 20.0.3. Elasticsearch is running and reachable (and able to write to its storage), and "occ fulltextsearch:test" passes all tests with "ok". This is running in the official dockerhub "nextcloud-apache" image. Search on documents already indexed works fine.

Indexing any document gives:

Error: Call to a member function getContent() on string in /var/www/html/custom_apps/files_fulltextsearch/lib/Service/FilesService.php:719
Stack trace:
#0 /var/www/html/custom_apps/files_fulltextsearch/lib/Service/FilesService.php(658): OCA\Files_FullTextSearch\Service\FilesService->updateContentFromFile('*** sensitive p...', Object(OC\Files\Node\File))
nextcloud/server#1 /var/www/html/custom_apps/files_fulltextsearch/lib/Service/FilesService.php(573): OCA\Files_FullTextSearch\Service\FilesService->updateFilesDocumentFromFile(Object(OCA\Files_FullTextSearch\Model\FilesDocument), Object(OC\Files\Node\File))
nextcloud/server#2 /var/www/html/custom_apps/files_fulltextsearch/lib/Service/FilesService.php(621): OCA\Files_FullTextSearch\Service\FilesService->generateDocumentFromIndex(Object(OCA\FullTextSearch\Model\Index))
nextcloud/server#3 /var/www/html/custom_apps/files_fulltextsearch/lib/Provider/FilesProvider.php(291): OCA\Files_FullTextSearch\Service\FilesService->updateDocument(Object(OCA\FullTextSearch\Model\Index))
nextcloud/server#4 /var/www/html/custom_apps/fulltextsearch/lib/Service/IndexService.php(407): OCA\Files_FullTextSearch\Provider\FilesProvider->updateDocument(Object(OCA\FullTextSearch\Model\Index))
nextcloud/server#5 /var/www/html/custom_apps/fulltextsearch/lib/Command/Live.php(308): OCA\FullTextSearch\Service\IndexService->updateDocument(Object(OCA\FullTextSearch_Elasticsearch\Platform\ElasticSearchPlatform), Object(OCA\Files_FullTextSearch\Provider\FilesProvider), Object(OCA\FullTextSearch\Model\Index))
nextcloud/server#6 /var/www/html/custom_apps/fulltextsearch/lib/Command/Live.php(261): OCA\FullTextSearch\Command\Live->liveCycle()

I've tried this on three nextcloud instances and it's reproducible each time, for example by running "occ fulltextsearch:stop; occ fulltextsearch:index"

In this case on the builtin document "Nextcloud Manual.pdf":

Exception: Elasticsearch\Common\Exceptions\ServerErrorResponseException
ā”‚ Message: java.lang.IllegalArgumentException: java.lang.IllegalArgumentException: field [content] not present as part of path [attachment.content]

I also tried removing and reinstalling the fulltextsearch apps from nextcloud, with no change.

ufobat commented 3 years ago

I'm facing the same issue!

ufobat commented 3 years ago

https://github.com/nextcloud/files_fulltextsearch/issues/100

ufobat commented 3 years ago

apt install ghostscript fixed the issue for me. For details see the link above.