Code Monkey home page Code Monkey logo

files_fulltextsearch's Introduction

Full text search - Files

Scrutinizer Code Quality

Full text search - Files is an extension app to the Full text search framework

It allows you to index the content of your users' files.

Documentation

Can be found on the Wiki

files_fulltextsearch's People

Contributors

and0r- avatar andyscherzinger avatar artificialowl avatar come-nc avatar gammapi avatar masahirominami avatar matsewe avatar morrisjobke avatar nextcloud-bot avatar nickvergessen avatar nienzu avatar pvince81 avatar r0wi avatar skjnldsv avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

files_fulltextsearch's Issues

New uploaded documents are not indexed

Under NC-15, no new data record is created in the table "fulltextsearch_indexes" when uploading a document.
With NC-14, a new data record is created.

New installation of:

  • NC-15
  • Full text search 1.2.3
  • Full text search - Elasticsearch Platform 1.2.2
  • Full text search - Files 1.2.3

NX18 - Could not resolve OCA\\OcSms\\Provider\\FullTextSearchProvider

So for unknown reason on NextCloud 18 (under revers proxy) full text search is not working.

I have FTS for Elasticsearch and FTS OCR extensions installed, but disabling or removing them does not help. I can see the search icon in the top navigation panel and even have a form for opening but that is it. Also the build-in search works grate as far as it goes.

The error is as follows:

{"reqId":"N20lhDojKEgbc3IvDQMD","level":2,"time":"2020-07-18T23:50:51+00:00","remoteAddr":"10.10.10.10","user":"user","app":"fulltextsearch","method":"GET","url":"/apps/fulltextsearch/v1/search?request=%7B%22providers%22%3A%5B%22files%22%5D%2C%22options%22%3A%7B%22files_local%22%3A%221%22%2C%22files_external%22%3A%220%22%2C%22files_extension%22%3A%22%22%7D%2C%22search%22%3A%22new%22%2C%22page%22%3A1%7D","message":"Issue while loading Provider: ocsms/OCA\\OcSms\\Provider\\FullTextSearchProvider - OCP\\AppFramework\\QueryException Could not resolve OCA\\OcSms\\Provider\\FullTextSearchProvider! Class OCA\\OcSms\\Provider\\FullTextSearchProvider does not exist","userAgent":"Mozilla/5.0 (Windows NT 10.0; rv:78.0) Gecko/20100101 Firefox/78.0","version":"18.0.7.1"}

Please feel free to request any additional info needed.

Support for NC19

As NC 19 is more and more rolled out, when will the fulltextsearch apps support NC19?

Fulltextsearch brocken in nextcloud 15

Nextcloud 15 in debian stretch (php 7.2)

Since my switch to nextcloud 15 (stable), fulltext search no longer works:

  • fulltextsearch:live no longer detects file changes
  • after reset fulltextsearch:index is broken > #22

Update to 0.6.0 on NC 13 broken

Hi,

I just updated to fulltextsearch apps to 0.6.0 on my nextcloud 13
installation. During upgrade of files_fulltextsearch the upgrade
process got stuck - nextcloud itself stopped working, all I get
is an error 500 from apache.

Apache log reports:

PHP Fatal error: Class OCA\\Files_FullTextSearch\\Provider\\FilesProvider contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (OCA\\FullTextSearch\\IFullTextSearchProvider::onRemovingIndex) in /proj.stand/cow/web/apps/nextcloud/instances/prod/nextcloud-13.0.0/apps/files_fulltextsearch/lib/Provider/FilesProvider.php on line 50

Button ">" for next page is not visible

On the page showing the results, the ">" symbol (for next page) is not visible.
If we click more or less on the place it should be, it will load the next page, and we could see the "<" symbol/button for going to previous results page, but the ">" one is still not visible.

When enabled, richdocuments doesn't work anymore

Right after I enabled this app, richdocuments stopped working.
I wouldn't get to the online Collabora-editor anymore, but just get a regular download when I click on an openoffice file.

When I disable the app, I get the Collabora-editor again.

I was hoping to be able to have a full text index and online edit at the same time!

Enabled apps + version are:

Enabled:

  • activity: 2.6.1
  • admin_audit: 1.3.0
  • bruteforcesettings: 1.0.3
  • comments: 1.3.0
  • dav: 1.4.6
  • deck: 0.3.1
  • federatedfilesharing: 1.3.1
  • files: 1.8.0
  • files_automatedtagging: 1.3.0
  • files_external: 1.4.1
  • files_fulltextsearch: 0.6.0
  • files_markdown: 2.0.4
  • files_pdfviewer: 1.2.1
  • files_sharing: 1.5.0
  • files_texteditor: 2.5.1
  • files_trashbin: 1.3.0
  • files_versions: 1.6.0
  • files_videoplayer: 1.2.0
  • firstrunwizard: 2.2.1
  • fulltextsearch: 0.6.1
  • fulltextsearch_elasticsearch: 0.6.1
  • gallery: 18.0.0
  • lookup_server_connector: 1.1.0
  • nextcloud_announcements: 1.2.0
  • notes: 2.3.2
  • notifications: 2.1.2
  • oauth2: 1.1.0
  • password_policy: 1.3.0
  • provisioning_api: 1.3.0
  • richdocuments: 2.0.4
  • serverinfo: 1.3.0
  • sharebymail: 1.3.0
  • systemtags: 1.3.0
  • theming: 1.4.1
  • twofactor_backupcodes: 1.2.3
  • updatenotification: 1.3.0
  • user_ldap: 1.3.1
  • user_saml: 1.4.2
  • workflowengine: 1.3.0

fulltextsearch:live seems to miss a lot of documents in CIFS mounted directory

NC 17.0.2
Full text search - Elasticsearch Platform 1.4.0
Full text search - Files 1.3.6

Notes:
The files in question are an SMB mount using the app External Storages
Files are OCR'd before ingest and index
Background jobs set to cron.

Typically, I have a tmux session that I use to run and watch FTS as cron has been unreliable for me. I use the command:

sudo -u www-data php /var/www/nextcloud/occ fulltextsearch:index && sudo -u www-data php /var/www/nextcloud/occ fulltextsearch:live

I notice that while set to :live, many documents are not properly indexed. I have also noticed several times that my SMB mount seems to lose connection (I see the share having a grey or pink color in Files on the web interface indicating that the connection to SMB is down - this is cleared up as soon as I visit the External Storages page in the admin). I believe it's possible that when the connection is down, FTS misses the new docs and when the SMB share is reconnected, FTS is unaware that anything has been missed. ES only returns results once fulltextsearch:index has been manually run.

Perhaps this is really an External Storages bug but it affects FTS's ability to reliably index documents being added to a CIFS mounted directory.

I haven't dug in, but I'm guessing the cron is :live? Perhaps :index should be added as a cron until External Storages is more stable in its treatment of SMB connections?

only files with extractable information can be found (0.7)

After resetting the index, the search only finds file from which it could extract information. No directories or pictures are shown in the result, even if they match the completey search phrase.

On my other nextcloud instance with an older index (same configuration and apps, up to date), it finds directories and files like pictures.
After resetting this working instance and rebuilding the index, it was unable to find directories and files without extractable information anymore.

This is obviously a problem in the indexing process not in the search itself.

Expected behaviour: Like before, picture and directories (and similar) have to be indexed and be in the search result, even if they don't have extractable information (except the file/directory name).

Server configuration detail

Operating system: Linux 4.8.8-040808-generic #201611150231 SMP Tue Nov 15 07:33:21 UTC 2016 x86_64

Webserver: Apache (fpm-fcgi)

Database: mysql 5.7.22

PHP version: 7.1.16
Modules loaded: Core, date, libxml, openssl, pcre, zlib, bz2, calendar, ctype, hash, filter, ftp, gettext, gmp, SPL, iconv, Reflection, session, standard, SimpleXML, sockets, mbstring, tokenizer, xml, cgi-fcgi, mysqlnd, bcmath, curl, dba, dom, enchant, fileinfo, gd, imagick, imap, intl, json, ldap, exif, mcrypt, mysqli, odbc, PDO, pdo_mysql, PDO_ODBC, pdo_pgsql, pdo_sqlite, pgsql, Phar, posix, pspell, redis, soap, sqlite3, sysvmsg, sysvsem, sysvshm, tidy, xmlreader, xmlrpc, xmlwriter, xsl, zip, ionCube Loader, Zend OPcache

Nextcloud version: 13.0.2 - 13.0.2.1

Updated from an older Nextcloud/ownCloud or fresh install:

Where did you install Nextcloud from: unknown

Signing status

Array

List of activated apps
Enabled:
 - activity: 2.6.1
 - admin_audit: 1.3.0
 - announcementcenter: 3.2.1
 - bruteforcesettings: 1.0.3
 - calendar: 1.6.1
 - camerarawpreviews: 0.5.2
 - caniupdate: 0.1.2
 - checksum: 0.4.0
 - circles: 0.13.6
 - comments: 1.3.0
 - contacts: 2.1.3
 - dav: 1.4.6
 - external: 3.0.3
 - federatedfilesharing: 1.3.1
 - federation: 1.3.0
 - files: 1.8.0
 - files_accesscontrol: 1.3.0
 - files_automatedtagging: 1.3.0
 - files_downloadactivity: 1.2.0
 - files_external: 1.4.1
 - files_fulltextsearch: 0.7.1
 - files_pdfviewer: 1.2.1
 - files_rightclick: 0.8.4
 - files_sharing: 1.5.0
 - files_texteditor: 2.5.1
 - files_trashbin: 1.3.0
 - files_versions: 1.6.0
 - files_videoplayer: 1.2.0
 - firstrunwizard: 2.2.1
 - fulltextsearch: 0.7.0
 - fulltextsearch_elasticsearch: 0.7.0
 - gallery: 18.0.0
 - impersonate: 1.0.4
 - issuetemplate: 0.3.0
 - logreader: 2.0.0
 - lookup_server_connector: 1.1.0
 - mail: 0.8.1
 - metadata: 0.6.0
 - mindmaps: 0.1.0
 - mood: 0.3.3
 - news: 12.0.1
 - nextcloud_announcements: 1.2.0
 - notes: 2.3.2
 - notifications: 2.1.2
 - oauth2: 1.1.0
 - password_policy: 1.3.0
 - polls: 0.8.1
 - provisioning_api: 1.3.0
 - quota_warning: 1.2.0
 - ransomware_protection: 1.1.0
 - richdocuments: 2.0.8
 - serverinfo: 1.3.0
 - sharebymail: 1.3.0
 - spreed: 3.2.1
 - survey_client: 1.1.0
 - systemtags: 1.3.0
 - tasks: 0.9.6
 - theming: 1.4.1
 - twofactor_backupcodes: 1.2.3
 - updatenotification: 1.3.0
 - user_external: 0.4
 - user_usage_report: 1.0.1
 - workflowengine: 1.3.0
Disabled:
 - encryption
 - keeweb
 - ojsxc
 - passwords
 - user_ldap

Configuration (config/config.php)
{
    "instanceid": "***REMOVED SENSITIVE VALUE***",
    "passwordsalt": "***REMOVED SENSITIVE VALUE***",
    "secret": "***REMOVED SENSITIVE VALUE***",
    "trusted_domains": [
        "files.freiebaptisten.de"
    ],
    "datadirectory": "***REMOVED SENSITIVE VALUE***",
    "overwrite.cli.url": "https:\/\/files.freiebaptisten.de",
    "dbtype": "mysql",
    "version": "13.0.2.1",
    "dbname": "***REMOVED SENSITIVE VALUE***",
    "dbhost": "***REMOVED SENSITIVE VALUE***",
    "dbtableprefix": "oc_",
    "dbuser": "***REMOVED SENSITIVE VALUE***",
    "dbpassword": "***REMOVED SENSITIVE VALUE***",
    "logtimezone": "Europe\/Berlin",
    "installed": true,
    "filelocking.enabled": "true",
    "memcache.local": "\\OC\\Memcache\\Redis",
    "memcache.distributed": "\\OC\\Memcache\\Redis",
    "memcache.locking": "\\OC\\Memcache\\Redis",
    "redis": {
        "host": "***REMOVED SENSITIVE VALUE***",
        "port": 6379,
        "timeout": 0
    },
    "appstore.experimental.enabled": true,
    "maintenance": false,
    "theme": "",
    "loglevel": 2,
    "log_rotation_size": 10485760,
    "ldapIgnoreNamingRules": false,
    "default_language": "de",
    "defaultapp": "files",
    "remember_login_cookie_lifetime": 1296000,
    "trashbin_retention_obligation": "auto",
    "mail_from_address": "***REMOVED SENSITIVE VALUE***",
    "mail_smtpmode": "php",
    "mail_smtpauthtype": "LOGIN",
    "mail_domain": "***REMOVED SENSITIVE VALUE***"
}

Are you using external storage, if yes which one: local/smb/sftp/...

Are you using encryption: no

Are you using an external user-backend, if yes which one: LDAP/ActiveDirectory/Webdav/...

[OCP\Files\StorageInvalidException] Sabre\HTTP\ClientHttpException: Unauthorized

fulltextsearch:indexaborted with the following Exceptions:

 USER: user234503

                                                
  [OCP\Files\StorageInvalidException]           
  Sabre\HTTP\ClientHttpException: Unauthorized  

These were the corresponding entries wihin nextcloud.log:

{"reqId":"ymDiNxFvBrNANiLmHQCe","level":3,"time":"2018-04-17T20:32:17+02:00","remoteAddr":"","user":"--","app":"no app in context","method":"--","url":"--","message":"Exception: {\"Exception\":\"Sabre\\\\HTTP\\\\ClientHttpException\",\"Message\":\"Unauthorized\",\"Code\":401,\"Trace\":\"#0 \\\/var\\\/www\\\/nextcloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Client.php(231): Sabre\\\\HTTP\\\\Client->send(Object(Sabre\\\\HTTP\\\\Request))\\n#1 \\\/var\\\/www\\\/nextcloud\\\/lib\\\/private\\\/Files\\\/Storage\\\/DAV.php(263): Sabre\\\\DAV\\\\Client->propFind('https:\\\/\\\/togethe...', Array)\\n#2 \\\/var\\\/www\\\/nextcloud\\\/lib\\\/private\\\/Files\\\/Storage\\\/DAV.php(320): OC\\\\Files\\\\Storage\\\\DAV->propfind('.noindex')\\n#3 \\\/var\\\/www\\\/nextcloud\\\/apps\\\/files_sharing\\\/lib\\\/External\\\/Storage.php(240): OC\\\\Files\\\\Storage\\\\DAV->file_exists('.noindex')\\n#4 \\\/var\\\/www\\\/nextcloud\\\/lib\\\/private\\\/Files\\\/Storage\\\/Wrapper\\\/Wrapper.php(224): OCA\\\\Files_Sharing\\\\External\\\\Storage->file_exists('.noindex')\\n#5 \\\/var\\\/www\\\/nextcloud\\\/lib\\\/private\\\/Files\\\/Storage\\\/Wrapper\\\/Availability.php(244): OC\\\\Files\\\\Storage\\\\Wrapper\\\\Wrapper->file_exists('.noindex')\\n#6 \\\/var\\\/www\\\/nextcloud\\\/lib\\\/private\\\/Files\\\/Storage\\\/Wrapper\\\/Wrapper.php(224): OC\\\\Files\\\\Storage\\\\Wrapper\\\\Availability->file_exists('.noindex')\\n#7 \\\/var\\\/www\\\/nextcloud\\\/lib\\\/private\\\/Files\\\/View.php(1322): OC\\\\Files\\\\Storage\\\\Wrapper\\\\Wrapper->file_exists('.noindex')\\n#8 \\\/var\\\/www\\\/nextcloud\\\/lib\\\/private\\\/Files\\\/View.php(1371): OC\\\\Files\\\\View->getCacheEntry(Object(OCA\\\\Files_Trashbin\\\\Storage), '.noindex', '\\\/user234503\\\/file...')\\n#9 \\\/var\\\/www\\\/nextcloud\\\/lib\\\/private\\\/Files\\\/Node\\\/Root.php(198): OC\\\\Files\\\\View->getFileInfo('\\\/user234503\\\/file...')\\n#10 \\\/var\\\/www\\\/nextcloud\\\/lib\\\/private\\\/Files\\\/Node\\\/Folder.php(133): OC\\\\Files\\\\Node\\\\Root->get('\\\/user234503\\\/file...')\\n#11 \\\/var\\\/www\\\/nextcloud\\\/lib\\\/private\\\/Files\\\/Node\\\/Folder.php(142): OC\\\\Files\\\\Node\\\\Folder->get('.noindex')\\n#12 \\\/var\\\/www\\\/nextcloud\\\/apps\\\/files_fulltextsearch\\\/lib\\\/Service\\\/FilesService.php(154): OC\\\\Files\\\\Node\\\\Folder->nodeExists('.noindex')\\n#13 \\\/var\\\/www\\\/nextcloud\\\/apps\\\/files_fulltextsearch\\\/lib\\\/Service\\\/FilesService.php(175): OCA\\\\Files_FullTextSearch\\\\Service\\\\FilesService->getFilesFromDirectory(Object(OCA\\\\FullTextSearch\\\\Model\\\\Runner), 'user234503', Object(OC\\\\Files\\\\Node\\\\Folder))\\n#14 \\\/var\\\/www\\\/nextcloud\\\/apps\\\/files_fulltextsearch\\\/lib\\\/Service\\\/FilesService.php(133): OCA\\\\Files_FullTextSearch\\\\Service\\\\FilesService->getFilesFromDirectory(Object(OCA\\\\FullTextSearch\\\\Model\\\\Runner), 'user234503', Object(OC\\\\Files\\\\Node\\\\Folder))\\n#15 \\\/var\\\/www\\\/nextcloud\\\/apps\\\/files_fulltextsearch\\\/lib\\\/Provider\\\/FilesProvider.php(186): OCA\\\\Files_FullTextSearch\\\\Service\\\\FilesService->getFilesFromUser(Object(OCA\\\\FullTextSearch\\\\Model\\\\Runner), 'user234503')\\n#16 \\\/var\\\/www\\\/nextcloud\\\/apps\\\/fulltextsearch\\\/lib\\\/Service\\\/IndexService.php(122): OCA\\\\Files_FullTextSearch\\\\Provider\\\\FilesProvider->generateIndexableDocuments('user234503')\\n#17 \\\/var\\\/www\\\/nextcloud\\\/apps\\\/fulltextsearch\\\/lib\\\/Command\\\/Index.php(146): OCA\\\\FullTextSearch\\\\Service\\\\IndexService->indexProviderContentFromUser(Object(OCA\\\\FullTextSearch_ElasticSearch\\\\Platform\\\\ElasticSearchPlatform), Object(OCA\\\\Files_FullTextSearch\\\\Provider\\\\FilesProvider), 'user234503')\\n#18 \\\/var\\\/www\\\/nextcloud\\\/apps\\\/fulltextsearch\\\/lib\\\/Command\\\/Index.php(119): OCA\\\\FullTextSearch\\\\Command\\\\Index->indexProvider(Object(OCA\\\\Files_FullTextSearch\\\\Provider\\\\FilesProvider))\\n#19 \\\/var\\\/www\\\/nextcloud\\\/3rdparty\\\/symfony\\\/console\\\/Command\\\/Command.php(264): OCA\\\\FullTextSearch\\\\Command\\\\Index->execute(Object(Symfony\\\\Component\\\\Console\\\\Input\\\\ArgvInput), Object(Symfony\\\\Component\\\\Console\\\\Output\\\\ConsoleOutput))\\n#20 \\\/var\\\/www\\\/nextcloud\\\/core\\\/Command\\\/Base.php(161): Symfony\\\\Component\\\\Console\\\\Command\\\\Command->run(Object(Symfony\\\\Component\\\\Console\\\\Input\\\\ArgvInput), Object(Symfony\\\\Component\\\\Console\\\\Output\\\\ConsoleOutput))\\n#21 \\\/var\\\/www\\\/nextcloud\\\/3rdparty\\\/symfony\\\/console\\\/Application.php(874): OC\\\\Core\\\\Command\\\\Base->run(Object(Symfony\\\\Component\\\\Console\\\\Input\\\\ArgvInput), Object(Symfony\\\\Component\\\\Console\\\\Output\\\\ConsoleOutput))\\n#22 \\\/var\\\/www\\\/nextcloud\\\/3rdparty\\\/symfony\\\/console\\\/Application.php(228): Symfony\\\\Component\\\\Console\\\\Application->doRunCommand(Object(OCA\\\\FullTextSearch\\\\Command\\\\Index), Object(Symfony\\\\Component\\\\Console\\\\Input\\\\ArgvInput), Object(Symfony\\\\Component\\\\Console\\\\Output\\\\ConsoleOutput))\\n#23 \\\/var\\\/www\\\/nextcloud\\\/3rdparty\\\/symfony\\\/console\\\/Application.php(130): Symfony\\\\Component\\\\Console\\\\Application->doRun(Object(Symfony\\\\Component\\\\Console\\\\Input\\\\ArgvInput), Object(Symfony\\\\Component\\\\Console\\\\Output\\\\ConsoleOutput))\\n#24 \\\/var\\\/www\\\/nextcloud\\\/lib\\\/private\\\/Console\\\/Application.php(173): Symfony\\\\Component\\\\Console\\\\Application->run(Object(Symfony\\\\Component\\\\Console\\\\Input\\\\ArgvInput), Object(Symfony\\\\Component\\\\Console\\\\Output\\\\ConsoleOutput))\\n#25 \\\/var\\\/www\\\/nextcloud\\\/console.php(90): OC\\\\Console\\\\Application->run()\\n#26 \\\/var\\\/www\\\/nextcloud\\\/occ(11): require_once('\\\/var\\\/www\\\/nextcl...')\\n#27 {main}\",\"File\":\"\\\/var\\\/www\\\/nextcloud\\\/3rdparty\\\/sabre\\\/http\\\/lib\\\/Client.php\",\"Line\":160}","userAgent":"--","version":"13.0.1.1"}
{"reqId":"ymDiNxFvBrNANiLmHQCe","level":3,"time":"2018-04-17T20:32:17+02:00","remoteAddr":"","user":"--","app":"files_external","method":"--","url":"--","message":"Unauthorized","userAgent":"--","version":"13.0.1.1"}
{"reqId":"ymDiNxFvBrNANiLmHQCe","level":3,"time":"2018-04-17T20:32:17+02:00","remoteAddr":"","user":"--","app":"no app in context","method":"--","url":"--","message":"Exception: {\"Exception\":\"OCP\\\\Files\\\\StorageInvalidException\",\"Message\":\"Sabre\\\\HTTP\\\\ClientHttpException: Unauthorized\",\"Code\":0,\"Trace\":\"#0 \\\/var\\\/www\\\/nextcloud\\\/lib\\\/private\\\/Files\\\/Storage\\\/DAV.php(279): OC\\\\Files\\\\Storage\\\\DAV->convertException(Object(Sabre\\\\HTTP\\\\ClientHttpException), '.noindex')\\n#1 \\\/var\\\/www\\\/nextcloud\\\/lib\\\/private\\\/Files\\\/Storage\\\/DAV.php(320): OC\\\\Files\\\\Storage\\\\DAV->propfind('.noindex')\\n#2 \\\/var\\\/www\\\/nextcloud\\\/apps\\\/files_sharing\\\/lib\\\/External\\\/Storage.php(240): OC\\\\Files\\\\Storage\\\\DAV->file_exists('.noindex')\\n#3 \\\/var\\\/www\\\/nextcloud\\\/lib\\\/private\\\/Files\\\/Storage\\\/Wrapper\\\/Wrapper.php(224): OCA\\\\Files_Sharing\\\\External\\\\Storage->file_exists('.noindex')\\n#4 \\\/var\\\/www\\\/nextcloud\\\/lib\\\/private\\\/Files\\\/Storage\\\/Wrapper\\\/Availability.php(244): OC\\\\Files\\\\Storage\\\\Wrapper\\\\Wrapper->file_exists('.noindex')\\n#5 \\\/var\\\/www\\\/nextcloud\\\/lib\\\/private\\\/Files\\\/Storage\\\/Wrapper\\\/Wrapper.php(224): OC\\\\Files\\\\Storage\\\\Wrapper\\\\Availability->file_exists('.noindex')\\n#6 \\\/var\\\/www\\\/nextcloud\\\/lib\\\/private\\\/Files\\\/View.php(1322): OC\\\\Files\\\\Storage\\\\Wrapper\\\\Wrapper->file_exists('.noindex')\\n#7 \\\/var\\\/www\\\/nextcloud\\\/lib\\\/private\\\/Files\\\/View.php(1371): OC\\\\Files\\\\View->getCacheEntry(Object(OCA\\\\Files_Trashbin\\\\Storage), '.noindex', '\\\/user234503\\\/file...')\\n#8 \\\/var\\\/www\\\/nextcloud\\\/lib\\\/private\\\/Files\\\/Node\\\/Root.php(198): OC\\\\Files\\\\View->getFileInfo('\\\/user234503\\\/file...')\\n#9 \\\/var\\\/www\\\/nextcloud\\\/lib\\\/private\\\/Files\\\/Node\\\/Folder.php(133): OC\\\\Files\\\\Node\\\\Root->get('\\\/user234503\\\/file...')\\n#10 \\\/var\\\/www\\\/nextcloud\\\/lib\\\/private\\\/Files\\\/Node\\\/Folder.php(142): OC\\\\Files\\\\Node\\\\Folder->get('.noindex')\\n#11 \\\/var\\\/www\\\/nextcloud\\\/apps\\\/files_fulltextsearch\\\/lib\\\/Service\\\/FilesService.php(154): OC\\\\Files\\\\Node\\\\Folder->nodeExists('.noindex')\\n#12 \\\/var\\\/www\\\/nextcloud\\\/apps\\\/files_fulltextsearch\\\/lib\\\/Service\\\/FilesService.php(175): OCA\\\\Files_FullTextSearch\\\\Service\\\\FilesService->getFilesFromDirectory(Object(OCA\\\\FullTextSearch\\\\Model\\\\Runner), 'user234503', Object(OC\\\\Files\\\\Node\\\\Folder))\\n#13 \\\/var\\\/www\\\/nextcloud\\\/apps\\\/files_fulltextsearch\\\/lib\\\/Service\\\/FilesService.php(133): OCA\\\\Files_FullTextSearch\\\\Service\\\\FilesService->getFilesFromDirectory(Object(OCA\\\\FullTextSearch\\\\Model\\\\Runner), 'user234503', Object(OC\\\\Files\\\\Node\\\\Folder))\\n#14 \\\/var\\\/www\\\/nextcloud\\\/apps\\\/files_fulltextsearch\\\/lib\\\/Provider\\\/FilesProvider.php(186): OCA\\\\Files_FullTextSearch\\\\Service\\\\FilesService->getFilesFromUser(Object(OCA\\\\FullTextSearch\\\\Model\\\\Runner), 'user234503')\\n#15 \\\/var\\\/www\\\/nextcloud\\\/apps\\\/fulltextsearch\\\/lib\\\/Service\\\/IndexService.php(122): OCA\\\\Files_FullTextSearch\\\\Provider\\\\FilesProvider->generateIndexableDocuments('user234503')\\n#16 \\\/var\\\/www\\\/nextcloud\\\/apps\\\/fulltextsearch\\\/lib\\\/Command\\\/Index.php(146): OCA\\\\FullTextSearch\\\\Service\\\\IndexService->indexProviderContentFromUser(Object(OCA\\\\FullTextSearch_ElasticSearch\\\\Platform\\\\ElasticSearchPlatform), Object(OCA\\\\Files_FullTextSearch\\\\Provider\\\\FilesProvider), 'user234503')\\n#17 \\\/var\\\/www\\\/nextcloud\\\/apps\\\/fulltextsearch\\\/lib\\\/Command\\\/Index.php(119): OCA\\\\FullTextSearch\\\\Command\\\\Index->indexProvider(Object(OCA\\\\Files_FullTextSearch\\\\Provider\\\\FilesProvider))\\n#18 \\\/var\\\/www\\\/nextcloud\\\/3rdparty\\\/symfony\\\/console\\\/Command\\\/Command.php(264): OCA\\\\FullTextSearch\\\\Command\\\\Index->execute(Object(Symfony\\\\Component\\\\Console\\\\Input\\\\ArgvInput), Object(Symfony\\\\Component\\\\Console\\\\Output\\\\ConsoleOutput))\\n#19 \\\/var\\\/www\\\/nextcloud\\\/core\\\/Command\\\/Base.php(161): Symfony\\\\Component\\\\Console\\\\Command\\\\Command->run(Object(Symfony\\\\Component\\\\Console\\\\Input\\\\ArgvInput), Object(Symfony\\\\Component\\\\Console\\\\Output\\\\ConsoleOutput))\\n#20 \\\/var\\\/www\\\/nextcloud\\\/3rdparty\\\/symfony\\\/console\\\/Application.php(874): OC\\\\Core\\\\Command\\\\Base->run(Object(Symfony\\\\Component\\\\Console\\\\Input\\\\ArgvInput), Object(Symfony\\\\Component\\\\Console\\\\Output\\\\ConsoleOutput))\\n#21 \\\/var\\\/www\\\/nextcloud\\\/3rdparty\\\/symfony\\\/console\\\/Application.php(228): Symfony\\\\Component\\\\Console\\\\Application->doRunCommand(Object(OCA\\\\FullTextSearch\\\\Command\\\\Index), Object(Symfony\\\\Component\\\\Console\\\\Input\\\\ArgvInput), Object(Symfony\\\\Component\\\\Console\\\\Output\\\\ConsoleOutput))\\n#22 \\\/var\\\/www\\\/nextcloud\\\/3rdparty\\\/symfony\\\/console\\\/Application.php(130): Symfony\\\\Component\\\\Console\\\\Application->doRun(Object(Symfony\\\\Component\\\\Console\\\\Input\\\\ArgvInput), Object(Symfony\\\\Component\\\\Console\\\\Output\\\\ConsoleOutput))\\n#23 \\\/var\\\/www\\\/nextcloud\\\/lib\\\/private\\\/Console\\\/Application.php(173): Symfony\\\\Component\\\\Console\\\\Application->run(Object(Symfony\\\\Component\\\\Console\\\\Input\\\\ArgvInput), Object(Symfony\\\\Component\\\\Console\\\\Output\\\\ConsoleOutput))\\n#24 \\\/var\\\/www\\\/nextcloud\\\/console.php(90): OC\\\\Console\\\\Application->run()\\n#25 \\\/var\\\/www\\\/nextcloud\\\/occ(11): require_once('\\\/var\\\/www\\\/nextcl...')\\n#26 {main}\",\"File\":\"\\\/var\\\/www\\\/nextcloud\\\/lib\\\/private\\\/Files\\\/Storage\\\/DAV.php\",\"Line\":841}","userAgent":"--","version":"13.0.1.1"}
{"reqId":"ymDiNxFvBrNANiLmHQCe","level":3,"time":"2018-04-17T20:32:17+02:00","remoteAddr":"","user":"--","app":"files_external","method":"--","url":"--","message":"Sabre\\HTTP\\ClientHttpException: Unauthorized","userAgent":"--","version":"13.0.1.1"}

It looks like Fulltextsearch stumbled over .noindex(?)
Indexing of external storage is disabled in fulltextsearch settings.

Github repo pwned?

It is very concerning to see "Hello from HackerOne" appear on repo Wiki. Are you pwned by some nice guys from HackerOne bounty program?

Screenshot 2019-08-05 at 5 16 23 PM

live index crashes: withoutEndSlash() returns false

$path = $this->withoutEndSlash(substr($file->getPath(), 8 + strlen($viewerId)));

withoutEndSlash() somehow returned false instead of a string. coud it be that dashes in newly created usernames while live indexing cause this issue? the given user is not owner of the folder, it is only shared.

i had to reset index and start a new index, now it works again.

NC 15.0.2
files_fulltextsearch 1.2.3

full error log:
[cron] Error: TypeError: Argument 1 passed to OCA\Files_FullTextSearch\Service\FilesService::withoutEndSlash() must be of the type string, bool given, called in /var/www/nextcloud/apps/files_fulltextsearch/lib/Service/FilesService.php on line 400 at <>

  1. /var/www/nextcloud/apps/files_fulltextsearch/lib/Service/FilesService.php line 400
    withoutEndSlash(false)
  2. /var/www/nextcloud/apps/files_fulltextsearch/lib/Service/FilesService.php line 297
    getPathFromViewerId(123456, "user-name")
  3. /var/www/nextcloud/apps/files_fulltextsearch/lib/Service/FilesService.php line 445
    generateFilesDocumentFromFile("user-name", OC\Files\Node\Folder {})
  4. /var/www/nextcloud/apps/files_fulltextsearch/lib/Service/FilesService.php line 494
    generateDocumentFromIndex(OCA\FullTextSearch\Model\Index {})
  5. /var/www/nextcloud/apps/files_fulltextsearch/lib/Provider/FilesProvider.php line 264
    updateDocument(OCA\FullTextSearch\Model\Index {})
  6. /var/www/nextcloud/apps/fulltextsearch/lib/Service/IndexService.php line 401
    updateDocument(OCA\FullTextSearch\Model\Index {})
  7. /var/www/nextcloud/apps/fulltextsearch/lib/Cron/Index.php line 130
    updateDocument(OCA\FullTextSear ... {}, OCA\Files_FullTe ... {}, OCA\FullTextSearch\Model\Index {})
  8. /var/www/nextcloud/apps/fulltextsearch/lib/Cron/Index.php line 100
    liveCycle()
  9. /var/www/nextcloud/lib/private/BackgroundJob/Job.php line 61
    run(null)
  10. /var/www/nextcloud/lib/private/BackgroundJob/TimedJob.php line 55
    execute(OC\BackgroundJob\JobList {}, OC\Log {})
  11. /var/www/nextcloud/cron.php line 123
    execute(OC\BackgroundJob\JobList {}, OC\Log {})

at 2019-01-23T04:30:03+00:00

NC14.0.1 & files_fulltextsearch 1.0.0: "App is not compliant"

occ app:check-code files_fulltextsearch

Analysing /var/www/html/apps/files_fulltextsearch/lib/Service/ExternalFilesService.php
 1 errors
    line   47: OCP\App - deprecated class must not be imported with a use statement
Invalid appinfo.xml file found: Element 'namespace': This element is not expected. Expected is one of ( documentation, category ).

App is not compliant

What does this mean?
Thank you!

TypeError: Return value of OCA\Files_FullTextSearch\Events\FilesEvents::get() must be of the type string, integer returned

NextCloud 14.0.4 on Apache2 + PHP7, with the following apps installed:

  • Full text search 1.1.0
  • Full text search - Elasticsearch Platform 1.0.2
  • Full text search - Files 1.1.1

...produces this error when attempting to share files via the Thunderbird file-link addon (v1.8):

TypeError: Return value of OCA\Files_FullTextSearch\Events\FilesEvents::get() must be of the type string, integer returned at /var/www/nextcloud/apps/files_fulltextsearch/vendor/daita/my-small-php-tools/lib/Traits/TArrayTools.php#52

...which causes an error to be returned to Thunderbird, causing the file-link operation to fail. This appears to be because the itemSource key in the $params array is an integer, but the get() method inherited from the TArrayTools trait is expecting this to be a string. Here's the var_dump($params):

array(12) {
  ["itemType"]=>
  string(4) "file"
  ["itemSource"]=>
  int(3525727)
  ["shareType"]=>
  int(3)
  [... snip ...]
}

I'm not familiar enough with the NextCloud or file-link addon codebases to tell if this is an issue with how upstream code is expressing the file-id/itemSource (i.e. as an int instead of a string), or if files_fulltextsearch is being overly picky. In any case, commenting out the body of FilesEvents::onFileShare() prevents the error and allows the upload/share from Thunderbird to complete successfully, which suggests that NextCloud-core, at least, is tolerant of this value being expressed as an int.

Can't click on images file after search

Hi,
My FullTextSearch is working fine. I'm using :

  • Full text search - Elasticsearch Platform 1.2.4
  • Full text search - Files 1.2.6
  • Full text search - Files - Tesseract OCR 1.2.2
  • My NC version is 15.0.7
    I just have an issue. After I search with FTS, when I click on pdf file, it will automatically transfer me to its location and show me the preview of that file on my right panel. But when I click on images file ( jpeg ), nothing happens ( No errors show up, no error in log files ). I'm pretty sure that might be a bug. To open the image file, I have to click on icon " *** " and choose Go to folder.
    One more thing, is there a way I can open the files directly after I search without opening that file's location because that might waste a lot of time.
    Thank you.

Error using folder share via public link on upload or delete files (FilesEvents.php)

  • NC-15.0.2
  • Full text search 1.2.3
  • Full text search - Elasticsearch Platform 1.2.2
  • Full text search - Files 1.2.3

If a file is uploaded or deleted via a public link share, since the userID is null, the script in FilesEvents.php reports an error on line 135 and 211 and the list of files in the browser is not updated.

In order to use the upload via link to the public share, I temporarily changed line 135 and 211 of the FilesEvents.php file as follows:

original line 135:
$file = $this->filesService->getFileFromPath($this->userId, $path);
if ($this->configService->isCloudVersionAtLeast(15, 0, 1)) {
$this->fullTextSearchManager->createIndex(
'files', (string)$file->getId(), $this->userId, IIndex::INDEX_FULL
);
}
replaced with:
if ($this->userId) {
$file = $this->filesService->getFileFromPath($this->userId, $path);
if ($this->configService->isCloudVersionAtLeast(15, 0, 1)) {
$this->fullTextSearchManager->createIndex(
'files', (string)$file->getId(), $this->userId, IIndex::INDEX_FULL
);
}

original line 211:
$file = $this->filesService->getFileFromPath($this->userId, $path);
$this->fullTextSearchManager->updateIndexStatus(
'files', (string)$file->getId(), IIndex::INDEX_REMOVE, true
);
replaced with:
if ($this->userId) {
$file = $this->filesService->getFileFromPath($this->userId, $path);
$this->fullTextSearchManager->updateIndexStatus(
'files', (string)$file->getId(), IIndex::INDEX_REMOVE, true
);
}

Fulltext search index error IllegalArgumentException

It occurs no matter external storage or group folder indexing are enabled or not.

Elasticsearch Version: 6.6.1

App Version:
Full text search 1.2.5
Full text search - Elasticsearch Platform 1.2.4
Full text search - Files 1.2.6

Nextcloud Version:15.0.5

โ”‚ Message: java.lang.IllegalArgumentException: java.lang.IllegalArgumentExcept
โ”‚ ion: field [content] not present as part of path [attachment.content]
โ”‚
โ””โ”€โ”€

x:first result ## c/v:prec/next result ## b:last result

f:first error ## h/j:prec/next error ## d:delete error ## l:last error

q:quit ## p:pause

An unhandled exception has been thrown:
Error: Call to a member function getUID() on null in /var/www/html/lib/private/Share20/Manager.php:1427
Stack trace:
#0 /var/www/html/custom_apps/files_fulltextsearch/lib/Service/LocalFilesService.php(162): OC\Share20\Manager->getAccessList(Object(OC\Files\Node\Folder), true, true)
#1 /var/www/html/custom_apps/files_fulltextsearch/lib/Service/FilesService.php(667): OCA\Files_FullTextSearch\Service\LocalFilesService->getShareUsersFromFile(Object(OC\Files\Node\Folder), Array)
#2 /var/www/html/custom_apps/files_fulltextsearch/lib/Service/FilesService.php(596): OCA\Files_FullTextSearch\Service\FilesService->updateShareNames(Object(OCA\Files_FullTextSearch\Model\FilesDocument), Object(OC\Files\Node\Folder))
#3 /var/www/html/custom_apps/files_fulltextsearch/lib/Service/FilesService.php(570): OCA\Files_FullTextSearch\Service\FilesService->updateDocumentAccess(Object(OCA\Files_FullTextSearch\Model\FilesDocument), Object(OC\Files\Node\Folder))
#4 /var/www/html/custom_apps/files_fulltextsearch/lib/Service/FilesService.php(551): OCA\Files_FullTextSearch\Service\FilesService->updateFilesDocumentFromFile(Object(OCA\Files_FullTextSearch\Model\FilesDocument), Object(OC\Files\Node\Folder))
#5 /var/www/html/custom_apps/files_fulltextsearch/lib/Service/FilesService.php(445): OCA\Files_FullTextSearch\Service\FilesService->updateFilesDocument(Object(OCA\Files_FullTextSearch\Model\FilesDocument))
#6 /var/www/html/custom_apps/files_fulltextsearch/lib/Provider/FilesProvider.php(246): OCA\Files_FullTextSearch\Service\FilesService->generateDocument(Object(OCA\Files_FullTextSearch\Model\FilesDocument))
#7 /var/www/html/custom_apps/fulltextsearch/lib/Service/IndexService.php(314): OCA\Files_FullTextSearch\Provider\FilesProvider->fillIndexDocument(Object(OCA\Files_FullTextSearch\Model\FilesDocument))
#8 /var/www/html/custom_apps/fulltextsearch/lib/Service/IndexService.php(194): OCA\FullTextSearch\Service\IndexService->indexDocuments(Object(OCA\FullTextSearch_ElasticSearch\Platform\ElasticSearchPlatform), Object(OCA\Files_FullTextSearch\Provider\FilesProvider), Array, Object(OCA\FullTextSearch\Model\IndexOptions))
#9 /var/www/html/custom_apps/fulltextsearch/lib/Command/Index.php(408): OCA\FullTextSearch\Service\IndexService->indexProviderContentFromUser(Object(OCA\FullTextSearch_ElasticSearch\Platform\ElasticSearchPlatform), Object(OCA\Files_FullTextSearch\Provider\FilesProvider), 'tjx', Object(OCA\FullTextSearch\Model\IndexOptions))
#10 /var/www/html/custom_apps/fulltextsearch/lib/Command/Index.php(272): OCA\FullTextSearch\Command\Index->indexProvider(Object(OCA\Files_FullTextSearch\Provider\FilesProvider), Object(OCA\FullTextSearch\Model\IndexOptions))
#11 /var/www/html/3rdparty/symfony/console/Command/Command.php(255): OCA\FullTextSearch\Command\Index->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#12 /var/www/html/core/Command/Base.php(166): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#13 /var/www/html/3rdparty/symfony/console/Application.php(946): OC\Core\Command\Base->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#14 /var/www/html/3rdparty/symfony/console/Application.php(248): Symfony\Component\Console\Application->doRunCommand(Object(OCA\FullTextSearch\Command\Index), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#15 /var/www/html/3rdparty/symfony/console/Application.php(148): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#16 /var/www/html/lib/private/Console/Application.php(213): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#17 /var/www/html/console.php(96): OC\Console\Application->run()
#18 /var/www/html/occ(11): require_once('/var/www/html/c...')

Fulltextindex fail with Exeption

Hello,

I using this fine App with several Servers. On one Server I've got an exeption during:

sudo -u www-data php ./occ fulltextsearch:index

I already tried to use

sudo -u www-data php ./occ fulltextsearch:reset
sudo -u www-data php ./occ fulltextsearch:index

But the exeption comes again:

indexing Files.
 USER: 011DC5EA-4683-4A3C-9443-A7794B86F77C
- RAM: 21.880340576172
An unhandled exception has been thrown:
Error: Call to a member function instanceOfStorage() on null in /var/www/nextcloud/lib/private/Files/View.php:1922
Stack trace:
#0 /var/www/nextcloud/lib/private/Files/View.php(2036): OC\Files\View->lockPath('/749EAE09-58D9-...', 1, false)
#1 /var/www/nextcloud/lib/private/Files/View.php(1134): OC\Files\View->lockFile('/749EAE09-58D9-...', 1)
#2 /var/www/nextcloud/lib/private/Files/View.php(267): OC\Files\View->basicOperation('mkdir', '/749EAE09-58D9-...', Array)
#3 /var/www/nextcloud/lib/private/Files/Node/Folder.php(160): OC\Files\View->mkdir('/749EAE09-58D9-...')
#4 /var/www/nextcloud/lib/private/Files/Node/Root.php(380): OC\Files\Node\Folder->newFolder('/749EAE09-58D9-...')
#5 [internal function]: OC\Files\Node\Root->getUserFolder('749EAE09-58D9-4...')
#6 /var/www/nextcloud/lib/private/Files/Node/LazyRoot.php(64): call_user_func_array(Array, Array)
#7 /var/www/nextcloud/lib/private/Files/Node/LazyRoot.php(281): OC\Files\Node\LazyRoot->__call('getUserFolder', Array)
#8 /var/www/nextcloud/apps/files_fulltextsearch/lib/Service/FilesService.php(264): OC\Files\Node\LazyRoot->getUserFolder('749EAE09-58D9-4...')
#9 /var/www/nextcloud/apps/files_fulltextsearch/lib/Service/FilesService.php(735): OCA\Files_FullTextSearch\Service\FilesService->getPathFromViewerId(2300, '749EAE09-58D9-4...')
#10 /var/www/nextcloud/apps/files_fulltextsearch/lib/Service/FilesService.php(537): OCA\Files_FullTextSearch\Service\FilesService->getShareNamesFromFile(Object(OC\Files\Node\Folder), Object(OCA\FullTextSearch\Model\DocumentAccess))
#11 /var/www/nextcloud/apps/files_fulltextsearch/lib/Service/FilesService.php(485): OCA\Files_FullTextSearch\Service\FilesService->updateAccessFromFile(Object(OCA\Files_FullTextSearch\Model\FilesDocument), Object(OC\Files\Node\Folder))
#12 /var/www/nextcloud/apps/files_fulltextsearch/lib/Service/FilesService.php(466): OCA\Files_FullTextSearch\Service\FilesService->updateDocumentFromFile(Object(OCA\Files_FullTextSearch\Model\FilesDocument), Object(OC\Files\Node\Folder))
#13 /var/www/nextcloud/apps/files_fulltextsearch/lib/Service/FilesService.php(400): OCA\Files_FullTextSearch\Service\FilesService->updateDocumentFromFilesDocument(Object(OCA\Files_FullTextSearch\Model\FilesDocument))
#14 /var/www/nextcloud/apps/files_fulltextsearch/lib/Provider/FilesProvider.php(203): OCA\Files_FullTextSearch\Service\FilesService->generateDocuments(Array)
#15 /var/www/nextcloud/apps/fulltextsearch/lib/Service/IndexService.php(248): OCA\Files_FullTextSearch\Provider\FilesProvider->fillIndexDocuments(Array)
#16 /var/www/nextcloud/apps/fulltextsearch/lib/Service/IndexService.php(218): OCA\FullTextSearch\Service\IndexService->indexChunk(Object(OCA\FullTextSearch_ElasticSearch\Platform\ElasticSearchPlatform), Object(OCA\Files_FullTextSearch\Provider\FilesProvider), Array)
#17 /var/www/nextcloud/apps/fulltextsearch/lib/Service/IndexService.php(127): OCA\FullTextSearch\Service\IndexService->indexChunks(Object(OCA\FullTextSearch_ElasticSearch\Platform\ElasticSearchPlatform), Object(OCA\Files_FullTextSearch\Provider\FilesProvider), Array)
#18 /var/www/nextcloud/apps/fulltextsearch/lib/Command/Index.php(146): OCA\FullTextSearch\Service\IndexService->indexProviderContentFromUser(Object(OCA\FullTextSearch_ElasticSearch\Platform\ElasticSearchPlatform), Object(OCA\Files_FullTextSearch\Provider\FilesProvider), '011DC5EA-4683-4...')
#19 /var/www/nextcloud/apps/fulltextsearch/lib/Command/Index.php(119): OCA\FullTextSearch\Command\Index->indexProvider(Object(OCA\Files_FullTextSearch\Provider\FilesProvider))
#20 /var/www/nextcloud/3rdparty/symfony/console/Command/Command.php(264): OCA\FullTextSearch\Command\Index->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#21 /var/www/nextcloud/core/Command/Base.php(161): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#22 /var/www/nextcloud/3rdparty/symfony/console/Application.php(874): OC\Core\Command\Base->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#23 /var/www/nextcloud/3rdparty/symfony/console/Application.php(228): Symfony\Component\Console\Application->doRunCommand(Object(OCA\FullTextSearch\Command\Index), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#24 /var/www/nextcloud/3rdparty/symfony/console/Application.php(130): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#25 /var/www/nextcloud/lib/private/Console/Application.php(173): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#26 /var/www/nextcloud/console.php(90): OC\Console\Application->run()
#27 /var/www/nextcloud/occ(11): require_once('/var/www/nextcl...')


Release notes missing

None of this app's releases has any release notes. Please add some change log so people know what to expect from new releases.
Thanks.

still not able to pass numeric user names...?

An unhandled exception has been thrown:
TypeError: Argument 2 passed to OCA\Files_FullTextSearch\Service\FilesService::getPathFromViewerId() must be of the type string, integer given, called in /var/www/nextcloud/apps/files_fulltextsearch/lib/Service/FilesService.php on line 633 and defined in /var/www/nextcloud/apps/files_fulltextsearch/lib/Service/FilesService.php:399
Stack trace:

TypeError: Argument 1 passed to OCA\Files_FullTextSearch\Service\SearchService::setDocumentInfo() must be an instance of OCA\Files_FullTextSearch\Model\FilesDocument, instance of OCP\FullTextSearch\Model\IndexDocument given, called in /var/www/html/custom_apps/files_fulltextsearch/lib/Service/SearchService.php on line 217

Thanks for the awesome plugin!

In Nextcloud 15 I get the following error (Plugin version: 1.2.0):

TypeError: Argument 1 passed to OCA\Files_FullTextSearch\Service\SearchService::setDocumentInfo() must be an instance of OCA\Files_FullTextSearch\Model\FilesDocument, instance of OCP\FullTextSearch\Model\IndexDocument given, called in /var/www/html/custom_apps/files_fulltextsearch/lib/Service/SearchService.php on line 217

Indeed, if I delete lines 217, 218 and 219 the search is working but the result is not usable (i.e. I cannot click on the files to open them).

Deleted files remain in the index

I have created some test files containing "magicvalue123". These were indexed by FTS and then removed using the web UI. I later added them again to under a different folder (did that twice). The original files are still found as you can see by the number of reported search results (6) whereas only 2 files actually currently are in the file system.

2019-09-26 07 50 12

unhandled exception in ExternalFilesService.php (indexing works, crashes after that)

An unhandled exception has been thrown:
Error: Call to a member function getStorage() on null in /var/www/nextcloud/apps/files_fulltextsearch/lib/Service/ExternalFilesService.php:291
Stack trace:
#0 /var/www/nextcloud/apps/files_fulltextsearch/lib/Service/ExternalFilesService.php(316): OCA\Files_FullTextSearch\Service\ExternalFilesService->getExternalMountById(2)
#1 /var/www/nextcloud/apps/files_fulltextsearch/lib/Service/FilesService.php(896): OCA\Files_FullTextSearch\Service\ExternalFilesService->impersonateOwner(Object(OCA\FullTextSearch\Model\Index))
#2 /var/www/nextcloud/apps/files_fulltextsearch/lib/Service/FilesService.php(491): OCA\Files_FullTextSearch\Service\FilesService->impersonateOwner(Object(OCA\FullTextSearch\Model\Index))
#3 /var/www/nextcloud/apps/files_fulltextsearch/lib/Provider/FilesProvider.php(264): OCA\Files_FullTextSearch\Service\FilesService->updateDocument(Object(OCA\FullTextSearch\Model\Index))
#4 /var/www/nextcloud/apps/fulltextsearch/lib/Service/IndexService.php(401): OCA\Files_FullTextSearch\Provider\FilesProvider->updateDocument(Object(OCA\FullTextSearch\Model\Index))
#5 /var/www/nextcloud/apps/fulltextsearch/lib/Command/Live.php(291): OCA\FullTextSearch\Service\IndexService->updateDocument(Object(OCA\FullTextSearch_ElasticSearch\Platform\ElasticSearchPlatform), Object(OCA\Files_FullTextSearch\Provider\FilesProvider), Object(OCA\FullTextSearch\Model\Index))
#6 /var/www/nextcloud/apps/fulltextsearch/lib/Command/Live.php(258): OCA\FullTextSearch\Command\Live->liveCycle()
#7 /var/www/nextcloud/3rdparty/symfony/console/Command/Command.php(255): OCA\FullTextSearch\Command\Live->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#8 /var/www/nextcloud/core/Command/Base.php(166): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#9 /var/www/nextcloud/3rdparty/symfony/console/Application.php(946): OC\Core\Command\Base->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#10 /var/www/nextcloud/3rdparty/symfony/console/Application.php(248): Symfony\Component\Console\Application->doRunCommand(Object(OCA\FullTextSearch\Command\Live), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#11 /var/www/nextcloud/3rdparty/symfony/console/Application.php(148): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#12 /var/www/nextcloud/lib/private/Console/Application.php(213): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#13 /var/www/nextcloud/console.php(96): OC\Console\Application->run()
#14 /var/www/nextcloud/occ(11): require_once('/var/www/nextcl...')

Please let me know if you need further information

Search "Within current directory" always no results

If I check "Within current directory" I get 0 Results. If I uncheck the box, the files are found. This happens on all folders/files

Nextcloud 13.0.5
Full text search - Elasticsearch Platform (BETA) 0.8.0
Full text search - Files (BETA) 0.8.2
Full text search (BETA) 0.8.1

Fulltextsearch live fail to index files that are restored from trashbin

1.Config fulltextsearch elasticsearch
2.Run index once
3.Run live index
4.create a file a.zip
5.search for a.zip(you get the result)
6.delte a,zip
7.search for a.zip(no result)
8.restore a,zip from trashbin
9.search for a.zip(still no result)

I think it may caused by the live index command delete index too early and fail to realize the file have been restored from trash!

Null MIME type throws error in PHP 7.4.2

PHP has become pickier.

TypeError: Argument 1 passed to OCA\Files_FullTextSearch\Model\FilesDocument::setMimetype() must be of the type string, null given, called in .../apps/files_fulltextsearch/lib/Service/FilesService.php on line 409 and defined in ... /apps/files_fulltextsearch/lib/Model/FilesDocument.php:124

Argument 1 passed to `OCA\Files_FullTextSearch\Service\ExternalFilesService::getExternalMountById()` must be of the type int, null given

Every time I call index, this message appears
#27 seems to be related

NC 16.02 Fulltext Search Plugin 1.3.6
#27 looks like a similar error

An unhandled exception has been thrown:
TypeError: Argument 1 passed to OCA\Files_FullTextSearch\Service\ExternalFilesService::getExternalMountById() must be of the type int, null given, called in /var/www/html/custom_apps/files_fulltextsearch/lib/Service/ExternalFilesService.php on line 244 and defined in /var/www/html/custom_apps/files_fulltextsearch/lib/Service/ExternalFilesService.php:258
Stack trace:
#0 /var/www/html/custom_apps/files_fulltextsearch/lib/Service/ExternalFilesService.php(244): OCA\Files_FullTextSearch\Service\ExternalFilesService->getExternalMountById(NULL)
#1 /var/www/html/custom_apps/files_fulltextsearch/lib/Service/ExternalFilesService.php(187): OCA\Files_FullTextSearch\Service\ExternalFilesService->getMountPoint(Object(OC\Files\Node\Folder))
#2 /var/www/html/custom_apps/files_fulltextsearch/lib/Service/FilesService.php(673): OCA\Files_FullTextSearch\Service\ExternalFilesService->updateDocumentAccess(Object(OCA\Files_FullTextSearch\Model\FilesDocument), Object(OC\Files\Node\Folder))
#3 /var/www/html/custom_apps/files_fulltextsearch/lib/Service/FilesService.php(650): OCA\Files_FullTextSearch\Service\FilesService->updateDocumentAccess(Object(OCA\Files_FullTextSearch\Model\FilesDocument), Object(OC\Files\Node\Folder))
#4 /var/www/html/custom_apps/files_fulltextsearch/lib/Service/FilesService.php(631): OCA\Files_FullTextSearch\Service\FilesService->updateFilesDocumentFromFile(Object(OCA\Files_FullTextSearch\Model\FilesDocument), Object(OC\Files\Node\Folder))
#5 /var/www/html/custom_apps/files_fulltextsearch/lib/Service/FilesService.php(522): OCA\Files_FullTextSearch\Service\FilesService->updateFilesDocument(Object(OCA\Files_FullTextSearch\Model\FilesDocument))
#6 /var/www/html/custom_apps/files_fulltextsearch/lib/Provider/FilesProvider.php(272): OCA\Files_FullTextSearch\Service\FilesService->generateDocument(Object(OCA\Files_FullTextSearch\Model\FilesDocument))
#7 /var/www/html/custom_apps/fulltextsearch/lib/Service/IndexService.php(314): OCA\Files_FullTextSearch\Provider\FilesProvider->fillIndexDocument(Object(OCA\Files_FullTextSearch\Model\FilesDocument))
#8 /var/www/html/custom_apps/fulltextsearch/lib/Service/IndexService.php(205): OCA\FullTextSearch\Service\IndexService->indexDocuments(Object(OCA\FullTextSearch_ElasticSearch\Platform\ElasticSearchPlatform), Object(OCA\Files_FullTextSearch\Provider\FilesProvider), Array, Object(OCA\FullTextSearch\Model\IndexOptions))
#9 /var/www/html/custom_apps/fulltextsearch/lib/Command/Index.php(409): OCA\FullTextSearch\Service\IndexService->indexProviderContentFromUser(Object(OCA\FullTextSearch_ElasticSearch\Platform\ElasticSearchPlatform), Object(OCA\Files_FullTextSearch\Provider\FilesProvider), 'tjx', Object(OCA\FullTextSearch\Model\IndexOptions))
#10 /var/www/html/custom_apps/fulltextsearch/lib/Command/Index.php(273): OCA\FullTextSearch\Command\Index->indexProvider(Object(OCA\Files_FullTextSearch\Provider\FilesProvider), Object(OCA\FullTextSearch\Model\IndexOptions))
#11 /var/www/html/3rdparty/symfony/console/Command/Command.php(255): OCA\FullTextSearch\Command\Index->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#12 /var/www/html/core/Command/Base.php(166): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#13 /var/www/html/3rdparty/symfony/console/Application.php(901): OC\Core\Command\Base->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#14 /var/www/html/3rdparty/symfony/console/Application.php(262): Symfony\Component\Console\Application->doRunCommand(Object(OCA\FullTextSearch\Command\Index), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#15 /var/www/html/3rdparty/symfony/console/Application.php(145): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#16 /var/www/html/lib/private/Console/Application.php(213): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#17 /var/www/html/console.php(97): OC\Console\Application->run()
#18 /var/www/html/occ(11): require_once('/var/www/html/c...')

Error with Full Text Search on occ fulltextsearch:index

Running:

  • Nextcloud 15 Beta 2 via Docker
  • Elastic Search (2 node cluster) via Docker

Plugins Installed:

  • Full text search 1.2.0
  • Full text search - Elasticsearch Platform 1.2.0
  • Full text search - Files 1.2.0

Problem:

The following error comes up when attempting to "occ fulltextsearch:index":

An unhandled exception has been thrown: TypeError: Argument 1 passed to OCA\Files_FullTextSearch\Model\FilesDocument::setOwnerId() must be of the type string , boolean given, called in /apps2/files_fulltextsearch/lib/Service/FilesService.php on line 289 and defined in /apps2 /files_fulltextsearch/lib/Model/FilesDocument.php:69 Stack trace: #0 /apps2/files_fulltextsearch/lib/Service/FilesService.php(289): OCA\Files_FullTextSearch\Model\FilesDocument->setOw nerId(false) #1 /apps2/files_fulltextsearch/lib/Service/FilesService.php(247): OCA\Files_FullTextSearch\Service\FilesService->gene rateFilesDocumentFromFile('admin', Object(OC\Files\Node\Folder)) #2 /apps2/files_fulltextsearch/lib/Service/FilesService.php(188): OCA\Files_FullTextSearch\Service\FilesService->getF ilesFromDirectory('admin', Object(OC\Files\Node\Folder)) #3 /apps2/files_fulltextsearch/lib/Provider/FilesProvider.php(228): OCA\Files_FullTextSearch\Service\FilesService->ge tFilesFromUser('admin', Object(OCA\FullTextSearch\Model\IndexOptions)) #4 /apps2/fulltextsearch/lib/Service/IndexService.php(179): OCA\Files_FullTextSearch\Provider\FilesProvider->generate IndexableDocuments('admin') #5 /apps2/fulltextsearch/lib/Command/Index.php(407): OCA\FullTextSearch\Service\IndexService->indexProviderContentFro mUser(Object(OCA\FullTextSearch_ElasticSearch\Platform\ElasticSearchPlatform), Object(OCA\Files_FullTextSearch\Provid er\FilesProvider), 'admin', Object(OCA\FullTextSearch\Model\IndexOptions)) #6 /apps2/fulltextsearch/lib/Command/Index.php(271): OCA\FullTextSearch\Command\Index->indexProvider(Object(OCA\Files _FullTextSearch\Provider\FilesProvider), Object(OCA\FullTextSearch\Model\IndexOptions)) #7 /nextcloud/3rdparty/symfony/console/Command/Command.php(255): OCA\FullTextSearch\Command\Index->execute(Object(Sym fony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) #8 /nextcloud/core/Command/Base.php(166): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Con sole\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) #9 /nextcloud/3rdparty/symfony/console/Application.php(946): OC\Core\Command\Base->run(Object(Symfony\Component\Conso le\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) #10 /nextcloud/3rdparty/symfony/console/Application.php(248): Symfony\Component\Console\Application->doRunCommand(Obj ect(OCA\FullTextSearch\Command\Index), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Co nsole\Output\ConsoleOutput)) #11 /nextcloud/3rdparty/symfony/console/Application.php(148): Symfony\Component\Console\Application->doRun(Object(Sym fony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) #12 /nextcloud/lib/private/Console/Application.php(213): Symfony\Component\Console\Application->run(Object(Symfony\Co mponent\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) #13 /nextcloud/console.php(96): OC\Console\Application->run() #14 /nextcloud/occ(11): require_once('/nextcloud/cons...')

Feature requests: Sorting results, more filters and open result on new tab/window

We found the app really useful, but there are some features that would make it way more powerful and user friendly:

  • After searching for something, when you click on the result, it will open the folder, not the file. If the folder contains a lot of files, that is quite messy. Why not to open directly the file?
    Furthermore... The "result" (directory), opens in the same window/tab, and there is not way to go back to the search options. The result entries do not have the option to "open in new tab".
    Why not to open them (or give the option to) open them in a new tab and keep the search list intact?

  • When printing out the results, you get them "as it is". There is no way to sort the results, for example, by Path, filename, date, ...
    It would be great to show the results with something like a file explorer, where in the upper side appears a header with the fields "path/folder", "owner", "file type", "number of occurrences in file", "modification date", ... And when you click in one of those, the entries are sorted according to that criteria.

  • Adding some extra search functions like AND/OR/NOT and/or regular expressions
    What about searching only inside one directory?

How difficult would it be to implement them?

[0.7.2] Warnings in ConfigService.php

When performing a manual index of my files using

sudo -u www-data /usr/bin/php /var/www/nextcloud/occ fulltextsearch:index

a couple of PHP warnings are shown in the nextcloud log. These are follows:

Level App Message Time
Error PHP Invalid argument supplied for foreach() at /var/www/nextcloud/apps/files_fulltextsearch/lib/Service/ConfigService.php#260 2018-05-31T13:12:07+0200
Error PHP array_keys() expects parameter 1 to be array, null given at /var/www/nextcloud/apps/files_fulltextsearch/lib/Service/ConfigService.php#259 2018-05-31T13:12:07+0200

They are caused in the function compareIndexOptions(), see lib/Service/ConfigService.php#L252.

I would suggest adding/adapting following in the mentioned function:

if (!is_array($options) || count($options) === 0) {
	return false;
}

As I'm not fimiliar with the app structure enough I rather opened a ticket than a pull request, as I'm not aware of possible side effects that might cause or if they might be better solutions.

PDF text extraction not very reliable

I have a lot of PDF scans created using the "Scanbot" app. This app tries to put the OCRed text behind the actual scanned letters. This causes the text-extraction of files_fultextsearch to insert a lot of spaces where there are no spaces (there also no spaces if the text gets copied out of the PDF-Viewer integrated in NC).

The result is, that FTS is pretty useless as words are only found if you know in advance where the text extraction inserted such spaces.

Sadly I wasn't able to find the place in the app where the extraction is done to inestigate this further.

Class 'OCP\\FullTextSearch\\Model\\IndexDocument' not found

Steps to reproduce

upload an image file ( png, jpg, tiff, etc )

Expected behaviour

should create ocr

Actual behaviour

throws exception Class 'OCP\FullTextSearch\Model\IndexDocument' not found

Server configuration detail

Operating system: Linux 4.15.0-47-generic #50-Ubuntu SMP Wed Mar 13 10:44:52 UTC 2019 x86_64

Webserver: Apache (apache2handler) 2.4

Database: mysql 10.2.23

PHP version:

7.2.17-0ubuntu0.18.04.1
Modules loaded: Core, date, libxml, openssl, pcre, zlib, filter, hash, Reflection, SPL, sodium, session, standard, apache2handler, mysqlnd, PDO, xml, apcu, apc, calendar, ctype, curl, dom, mbstring, fileinfo, ftp, gd, gettext, iconv, igbinary, imagick, intl, json, ldap, exif, mysqli, pdo_mysql, Phar, posix, readline, redis, shmop, SimpleXML, smbclient, sockets, sysvmsg, sysvsem, sysvshm, tokenizer, wddx, xmlreader, xmlwriter, xsl, zip, libsmbclient, Zend OPcache

Nextcloud version: 16.0.0 - 16.0.0.9

Updated from an older Nextcloud/ownCloud or fresh install:

Where did you install Nextcloud from: unknown

Signing status

Array
(
)

List of activated apps
Enabled:
 - accessibility: 1.2.0
 - activity: 2.9.1
 - apporder: 0.7.1
 - bruteforcesettings: 1.3.0
 - calendar: 1.7.0
 - cloud_federation_api: 0.2.0
 - comments: 1.6.0
 - dav: 1.9.2
 - drawio: 0.9.3
 - event_update_notification: 0.3.4
 - external: 3.3.0
 - federatedfilesharing: 1.6.0
 - files: 1.11.0
 - files_external: 1.7.0
 - files_fulltextsearch: 1.3.0
 - files_fulltextsearch_tesseract: 1.2.2
 - files_pdfviewer: 1.5.0
 - files_rightclick: 0.13.0
 - files_sharing: 1.8.0
 - files_texteditor: 2.8.0
 - files_trashbin: 1.6.0
 - files_versions: 1.9.0
 - files_videoplayer: 1.5.0
 - flowupload: 0.1.0
 - fulltextsearch: 1.3.1
 - fulltextsearch_elasticsearch: 1.3.0
 - groupfolders: 3.0.0
 - guests: 1.0.0
 - issuetemplate: 0.5.0
 - logreader: 2.1.0
 - lookup_server_connector: 1.4.0
 - metadata: 0.9.0
 - oauth2: 1.4.2
 - ojsxc: 3.4.3
 - onlyoffice: 2.1.10
 - password_policy: 1.6.0
 - passwords: 2019.4.2
 - provisioning_api: 1.6.0
 - rainloop: 6.0.2
 - sharebymail: 1.6.0
 - systemtags: 1.6.0
 - theming: 1.7.0
 - twofactor_backupcodes: 1.5.0
 - user_ldap: 1.6.0
 - viewer: 1.0.0
 - workflowengine: 1.6.0
Disabled:
 - admin_audit
 - audioplayer
 - contacts
 - dicomviewer
 - encryption
 - federation
 - firstrunwizard
 - gallery
 - mail
 - nextcloud_announcements
 - notifications
 - privacy
 - recommendations
 - serverinfo
 - socialsharing_email
 - support
 - survey_client
 - updatenotification

Configuration (config/config.php)
{
    "instanceid": "***REMOVED SENSITIVE VALUE***",
    "passwordsalt": "***REMOVED SENSITIVE VALUE***",
    "secret": "***REMOVED SENSITIVE VALUE***",
    "trusted_domains": [
        "DOMAIN.TLD",
    ],
    "datadirectory": "***REMOVED SENSITIVE VALUE***",
    "dbtype": "mysql",
    "version": "16.0.0.9",
    "overwrite.cli.url": "https:\/\/DOMAIN.TLD\/",
    "dbname": "***REMOVED SENSITIVE VALUE***",
    "dbhost": "***REMOVED SENSITIVE VALUE***",
    "dbport": "",
    "dbtableprefix": "oc_",
    "dbuser": "***REMOVED SENSITIVE VALUE***",
    "dbpassword": "***REMOVED SENSITIVE VALUE***",
    "memcache.local": "\\OC\\Memcache\\APCu",
    "installed": true,
    "ldapIgnoreNamingRules": false,
    "ldapProviderFactory": "OCA\\User_LDAP\\LDAPProviderFactory",
    "maintenance": false,
    "mail_smtpmode": "smtp",
    "mail_sendmailmode": "smtp",
    "mail_from_address": "***REMOVED SENSITIVE VALUE***",
    "mail_domain": "***REMOVED SENSITIVE VALUE***",
    "mail_smtpauthtype": "LOGIN",
    "mail_smtpauth": 1,
    "mail_smtphost": "***REMOVED SENSITIVE VALUE***",
    "mail_smtpport": "25",
    "mail_smtpname": "***REMOVED SENSITIVE VALUE***",
    "mail_smtppassword": "***REMOVED SENSITIVE VALUE***",
    "updater.release.channel": "stable",
    "theme": "",
    "loglevel": 0,
    "csrf.disabled": true,
    "debug": true,
    "mysql.utf8mb4": true,
    "app_install_overwrite": [
        "mail",
        "calendar",
        "timetracker",
        "twainwebscan"
    ],
    "activity_expire_days": 14,
    "auth.bruteforce.protection.enabled": "false",
    "blacklisted_files": [
        ".htaccess",
        "Thumbs.db",
        "thumbs.db"
    ],
    "cron_log": true,
    "enable_previews": true,
    "enabledPreviewProviders": [
        "OC\\Preview\\PNG",
        "OC\\Preview\\JPEG",
        "OC\\Preview\\GIF",
        "OC\\Preview\\BMP",
        "OC\\Preview\\XBitmap",
        "OC\\Preview\\Movie",
        "OC\\Preview\\PDF",
        "OC\\Preview\\MP3",
        "OC\\Preview\\TXT",
        "OC\\Preview\\MarkDown"
    ],
    "filesystem_check_changes": 0,
    "filelocking.enabled": "true",
    "htaccess.RewriteBase": "\/",
    "integrity.check.disabled": false,
    "knowledgebaseenabled": false,
    "logfile": "\/var\/nc_data\/nextcloud.log",
    "logtimezone": "America\/Chicago",
    "log_rotate_size": 104857600,
    "memcache.locking": "\\OC\\Memcache\\Redis",
    "overwriteprotocol": "https",
    "preview_max_x": 1024,
    "preview_max_y": 768,
    "preview_max_scale_factor": 1,
    "redis": {
        "host": "***REMOVED SENSITIVE VALUE***",
        "port": 0,
        "timeout": 0
    },
    "quota_include_external_storage": false,
    "share_folder": "\/Shares",
    "skeletondirectory": "",
    "trashbin_retention_obligation": "auto, 7"
}

Are you using external storage, if yes which one: SMB

Are you using encryption: false

Are you using an external user-backend, if yes which one: LDAP

LDAP configuration (delete this par if not used)
background_sync_interval: 43200background_sync_offset: 0background_sync_prefix: s01cleanUpJobOffset: 0enabled: yesinstalled_version: 1.6.0s01_lastChange: 1556919017s01has_memberof_filter_support: 1s01home_folder_naming_rule: s01last_jpegPhoto_lookup: 0s01ldap_agent_password: ArEyoUkIdd1ngM3?==s01ldap_attributes_for_group_search: s01ldap_attributes_for_user_search: s01ldap_backup_host: s01ldap_backup_port: s01ldap_base: CN=Users,DC=DOMAIN,DC=TLDs01ldap_base_groups: CN=Users,DC=DOMAIN,DC=TLDs01ldap_base_users: CN=Users,DC=DOMAIN,DC=TLDs01ldap_cache_ttl: 600s01ldap_configuration_active: 1s01ldap_default_ppolicy_dn: s01ldap_display_name: displaynames01ldap_dn: cn=nextcloud,CN=Users,DC=DOMAIN,DC=TLDs01ldap_dynamic_group_member_url: s01ldap_email_attr: mails01ldap_experienced_admin: 0s01ldap_expert_username_attr: sAMAccountNames01ldap_expert_uuid_group_attr: s01ldap_expert_uuid_user_attr: s01ldap_gid_number: gidNumbers01ldap_group_display_name: cns01ldap_group_filter: s01ldap_group_filter_mode: 0s01ldap_group_member_assoc_attribute: uniqueMembers01ldap_groupfilter_groups: s01ldap_groupfilter_objectclass: s01ldap_host: ldap://HERA.DOMAIN.TLDs01ldap_login_filter: (&(&(|(objectclass=person))(|(|(memberof=CN=ncusers,CN=Users,DC=DOMAIN,DC=TLD)(primaryGroupID=1377))))(|(samaccountname=%uid)(entryUUID=%uid)))s01ldap_login_filter_mode: 1s01ldap_loginfilter_attributes: s01ldap_loginfilter_email: 0s01ldap_loginfilter_username: 1s01ldap_nested_groups: 0s01ldap_override_main_server: s01ldap_paging_size: 500s01ldap_port: 389s01ldap_quota_attr: s01ldap_quota_def: s01ldap_tls: 0s01ldap_turn_off_cert_check: 1s01ldap_turn_on_pwd_change: 1s01ldap_user_avatar_rule: defaults01ldap_user_display_name_2: s01ldap_user_filter_mode: 1s01ldap_userfilter_groups: Domain Userss01ldap_userfilter_objectclass: persons01ldap_userlist_filter: (&(|(objectclass=person))(|(|(memberof=CN=ncusers,CN=Users,DC=DOMAIN,DC=TLD)(primaryGroupID=1377))))s01use_memberof_to_detect_membership: 1types: authentication

Client configuration

Browser: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36

Operating system: Windows 10 ( Windows Any )

Logs

Web server error log
No apache errors. 
Nextcloud log

[  
   {  
      "file":"\/var\/www\/html\/nextcloud\/apps\/files_fulltextsearch_tesseract\/lib\/Service\/TesseractService.php",
      "line":118,
      "function":"extractContentUsingTesseractOCR",
      "class":"OCA\\Files_FullTextSearch_Tesseract\\Service\\TesseractService",
      "type":"->",
      "args":[  
         {  
            "id":"4540",
            "providerId":"files",
            "access":{  
               "ownerId":"dbo",
               "viewerId":"",
               "users":[  

               ],
               "groups":[  

               ],
               "circles":[  

               ],
               "links":[  

               ]
            },
            "modifiedTime":1557022926,
            "title":"JH.jpg",
            "link":"",
            "index":{  
               "ownerId":"dbo",
               "providerId":"files",
               "source":"files_local",
               "documentId":"4540",
               "lastIndex":0,
               "errors":[  
                  {  
                     "message":"Error while getting file content",
                     "exception":"Class 'OCP\\FullTextSearch\\Model\\IndexDocument' not found",
                     "severity":3
                  }
               ],
               "errorCount":1,
               "status":28,
               "options":[  

               ]
            },
            "source":"files_local",
            "info":{  
               "share_names":{  
                  "dbo":"JH.jpg"
               }
            },
            "hash":"",
            "contentSize":0,
            "tags":[  

            ],
            "metatags":[  

            ],
            "subtags":[  

            ],
            "more":[  

            ],
            "excerpts":[  

            ],
            "score":""
         },
         {  

         }
      ]
   },
   {  
      "file":"\/var\/www\/html\/nextcloud\/apps\/files_fulltextsearch_tesseract\/lib\/AppInfo\/Application.php",
      "line":75,
      "function":"onFileIndexing",
      "class":"OCA\\Files_FullTextSearch_Tesseract\\Service\\TesseractService",
      "type":"->",
      "args":[  
         {  

         }
      ]
   },
   {  
      "file":"\/var\/www\/html\/nextcloud\/3rdparty\/symfony\/event-dispatcher\/EventDispatcher.php",
      "line":212,
      "function":"OCA\\Files_FullTextSearch_Tesseract\\AppInfo\\{closure}",
      "class":"OCA\\Files_FullTextSearch_Tesseract\\AppInfo\\Application",
      "type":"->",
      "args":[  
         {  

         },
         "\\OCA\\Files_FullTextSearch::onFileIndexing",
         {  

         }
      ]
   },
   {  
      "file":"\/var\/www\/html\/nextcloud\/3rdparty\/symfony\/event-dispatcher\/EventDispatcher.php",
      "line":44,
      "function":"doDispatch",
      "class":"Symfony\\Component\\EventDispatcher\\EventDispatcher",
      "type":"->",
      "args":[  
         [  
            {  

            }
         ],
         "\\OCA\\Files_FullTextSearch::onFileIndexing",
         {  

         }
      ]
   },
   {  
      "file":"\/var\/www\/html\/nextcloud\/apps\/files_fulltextsearch\/lib\/Service\/ExtensionService.php",
      "line":115,
      "function":"dispatch",
      "class":"Symfony\\Component\\EventDispatcher\\EventDispatcher",
      "type":"->",
      "args":[  
         "\\OCA\\Files_FullTextSearch::onFileIndexing",
         {  

         }
      ]
   },
   {  
      "file":"\/var\/www\/html\/nextcloud\/apps\/files_fulltextsearch\/lib\/Service\/ExtensionService.php",
      "line":83,
      "function":"dispatch",
      "class":"OCA\\Files_FullTextSearch\\Service\\ExtensionService",
      "type":"->",
      "args":[  
         "\\OCA\\Files_FullTextSearch::onFileIndexing",
         {  
            "file":{  

            },
            "document":{  
               "id":"4540",
               "providerId":"files",
               "access":{  
                  "ownerId":"dbo",
                  "viewerId":"",
                  "users":[  

                  ],
                  "groups":[  

                  ],
                  "circles":[  

                  ],
                  "links":[  

                  ]
               },
               "modifiedTime":1557022926,
               "title":"JH.jpg",
               "link":"",
               "index":{  
                  "ownerId":"dbo",
                  "providerId":"files",
                  "source":"files_local",
                  "documentId":"4540",
                  "lastIndex":0,
                  "errors":[  
                     {  
                        "message":"Error while getting file content",
                        "exception":"Class 'OCP\\FullTextSearch\\Model\\IndexDocument' not found",
                        "severity":3
                     }
                  ],
                  "errorCount":1,
                  "status":28,
                  "options":[  

                  ]
               },
               "source":"files_local",
               "info":{  
                  "share_names":{  
                     "dbo":"JH.jpg"
                  }
               },
               "hash":"",
               "contentSize":0,
               "tags":[  

               ],
               "metatags":[  

               ],
               "subtags":[  

               ],
               "more":[  

               ],
               "excerpts":[  

               ],
               "score":""
            }
         }
      ]
   },
   {  
      "file":"\/var\/www\/html\/nextcloud\/apps\/files_fulltextsearch\/lib\/Service\/FilesService.php",
      "line":683,
      "function":"fileIndexing",
      "class":"OCA\\Files_FullTextSearch\\Service\\ExtensionService",
      "type":"->",
      "args":[  
         {  
            "id":"4540",
            "providerId":"files",
            "access":{  
               "ownerId":"dbo",
               "viewerId":"",
               "users":[  

               ],
               "groups":[  

               ],
               "circles":[  

               ],
               "links":[  

               ]
            },
            "modifiedTime":1557022926,
            "title":"JH.jpg",
            "link":"",
            "index":{  
               "ownerId":"dbo",
               "providerId":"files",
               "source":"files_local",
               "documentId":"4540",
               "lastIndex":0,
               "errors":[  
                  {  
                     "message":"Error while getting file content",
                     "exception":"Class 'OCP\\FullTextSearch\\Model\\IndexDocument' not found",
                     "severity":3
                  }
               ],
               "errorCount":1,
               "status":28,
               "options":[  

               ]
            },
            "source":"files_local",
            "info":{  
               "share_names":{  
                  "dbo":"JH.jpg"
               }
            },
            "hash":"",
            "contentSize":0,
            "tags":[  

            ],
            "metatags":[  

            ],
            "subtags":[  

            ],
            "more":[  

            ],
            "excerpts":[  

            ],
            "score":""
         },
         {  

         }
      ]
   },
   {  
      "file":"\/var\/www\/html\/nextcloud\/apps\/files_fulltextsearch\/lib\/Service\/FilesService.php",
      "line":627,
      "function":"updateContentFromFile",
      "class":"OCA\\Files_FullTextSearch\\Service\\FilesService",
      "type":"->",
      "args":[  
         {  
            "id":"4540",
            "providerId":"files",
            "access":{  
               "ownerId":"dbo",
               "viewerId":"",
               "users":[  

               ],
               "groups":[  

               ],
               "circles":[  

               ],
               "links":[  

               ]
            },
            "modifiedTime":1557022926,
            "title":"JH.jpg",
            "link":"",
            "index":{  
               "ownerId":"dbo",
               "providerId":"files",
               "source":"files_local",
               "documentId":"4540",
               "lastIndex":0,
               "errors":[  
                  {  
                     "message":"Error while getting file content",
                     "exception":"Class 'OCP\\FullTextSearch\\Model\\IndexDocument' not found",
                     "severity":3
                  }
               ],
               "errorCount":1,
               "status":28,
               "options":[  

               ]
            },
            "source":"files_local",
            "info":{  
               "share_names":{  
                  "dbo":"JH.jpg"
               }
            },
            "hash":"",
            "contentSize":0,
            "tags":[  

            ],
            "metatags":[  

            ],
            "subtags":[  

            ],
            "more":[  

            ],
            "excerpts":[  

            ],
            "score":""
         },
         {  

         }
      ]
   },
   {  
      "file":"\/var\/www\/html\/nextcloud\/apps\/files_fulltextsearch\/lib\/Service\/FilesService.php",
      "line":545,
      "function":"updateFilesDocumentFromFile",
      "class":"OCA\\Files_FullTextSearch\\Service\\FilesService",
      "type":"->",
      "args":[  
         {  
            "id":"4540",
            "providerId":"files",
            "access":{  
               "ownerId":"dbo",
               "viewerId":"",
               "users":[  

               ],
               "groups":[  

               ],
               "circles":[  

               ],
               "links":[  

               ]
            },
            "modifiedTime":1557022926,
            "title":"JH.jpg",
            "link":"",
            "index":{  
               "ownerId":"dbo",
               "providerId":"files",
               "source":"files_local",
               "documentId":"4540",
               "lastIndex":0,
               "errors":[  
                  {  
                     "message":"Error while getting file content",
                     "exception":"Class 'OCP\\FullTextSearch\\Model\\IndexDocument' not found",
                     "severity":3
                  }
               ],
               "errorCount":1,
               "status":28,
               "options":[  

               ]
            },
            "source":"files_local",
            "info":{  
               "share_names":{  
                  "dbo":"JH.jpg"
               }
            },
            "hash":"",
            "contentSize":0,
            "tags":[  

            ],
            "metatags":[  

            ],
            "subtags":[  

            ],
            "more":[  

            ],
            "excerpts":[  

            ],
            "score":""
         },
         {  

         }
      ]
   },
   {  
      "file":"\/var\/www\/html\/nextcloud\/apps\/files_fulltextsearch\/lib\/Service\/FilesService.php",
      "line":590,
      "function":"generateDocumentFromIndex",
      "class":"OCA\\Files_FullTextSearch\\Service\\FilesService",
      "type":"->",
      "args":[  
         {  
            "ownerId":"dbo",
            "providerId":"files",
            "source":"files_local",
            "documentId":"4540",
            "lastIndex":0,
            "errors":[  
               {  
                  "message":"Error while getting file content",
                  "exception":"Class 'OCP\\FullTextSearch\\Model\\IndexDocument' not found",
                  "severity":3
               }
            ],
            "errorCount":1,
            "status":28,
            "options":[  

            ]
         }
      ]
   },
   {  
      "file":"\/var\/www\/html\/nextcloud\/apps\/files_fulltextsearch\/lib\/Provider\/FilesProvider.php",
      "line":286,
      "function":"updateDocument",
      "class":"OCA\\Files_FullTextSearch\\Service\\FilesService",
      "type":"->",
      "args":[  
         {  
            "ownerId":"dbo",
            "providerId":"files",
            "source":"files_local",
            "documentId":"4540",
            "lastIndex":0,
            "errors":[  
               {  
                  "message":"Error while getting file content",
                  "exception":"Class 'OCP\\FullTextSearch\\Model\\IndexDocument' not found",
                  "severity":3
               }
            ],
            "errorCount":1,
            "status":28,
            "options":[  

            ]
         }
      ]
   },
   {  
      "file":"\/var\/www\/html\/nextcloud\/apps\/fulltextsearch\/lib\/Service\/IndexService.php",
      "line":414,
      "function":"updateDocument",
      "class":"OCA\\Files_FullTextSearch\\Provider\\FilesProvider",
      "type":"->",
      "args":[  
         {  
            "ownerId":"dbo",
            "providerId":"files",
            "source":"files_local",
            "documentId":"4540",
            "lastIndex":0,
            "errors":[  
               {  
                  "message":"Error while getting file content",
                  "exception":"Class 'OCP\\FullTextSearch\\Model\\IndexDocument' not found",
                  "severity":3
               }
            ],
            "errorCount":1,
            "status":28,
            "options":[  

            ]
         }
      ]
   },
   {  
      "file":"\/var\/www\/html\/nextcloud\/apps\/fulltextsearch\/lib\/Command\/Live.php",
      "line":291,
      "function":"updateDocument",
      "class":"OCA\\FullTextSearch\\Service\\IndexService",
      "type":"->",
      "args":[  
         {  

         },
         {  

         },
         {  
            "ownerId":"dbo",
            "providerId":"files",
            "source":"files_local",
            "documentId":"4540",
            "lastIndex":0,
            "errors":[  
               {  
                  "message":"Error while getting file content",
                  "exception":"Class 'OCP\\FullTextSearch\\Model\\IndexDocument' not found",
                  "severity":3
               }
            ],
            "errorCount":1,
            "status":28,
            "options":[  

            ]
         }
      ]
   },
   {  
      "file":"\/var\/www\/html\/nextcloud\/apps\/fulltextsearch\/lib\/Command\/Live.php",
      "line":258,
      "function":"liveCycle",
      "class":"OCA\\FullTextSearch\\Command\\Live",
      "type":"->",
      "args":[  

      ]
   },
   {  
      "file":"\/var\/www\/html\/nextcloud\/3rdparty\/symfony\/console\/Command\/Command.php",
      "line":255,
      "function":"execute",
      "class":"OCA\\FullTextSearch\\Command\\Live",
      "type":"->",
      "args":[  
         {  

         },
         {  

         }
      ]
   },
   {  
      "file":"\/var\/www\/html\/nextcloud\/core\/Command\/Base.php",
      "line":166,
      "function":"run",
      "class":"Symfony\\Component\\Console\\Command\\Command",
      "type":"->",
      "args":[  
         {  

         },
         {  

         }
      ]
   },
   {  
      "file":"\/var\/www\/html\/nextcloud\/3rdparty\/symfony\/console\/Application.php",
      "line":901,
      "function":"run",
      "class":"OC\\Core\\Command\\Base",
      "type":"->",
      "args":[  
         {  

         },
         {  

         }
      ]
   },
   {  
      "file":"\/var\/www\/html\/nextcloud\/3rdparty\/symfony\/console\/Application.php",
      "line":262,
      "function":"doRunCommand",
      "class":"Symfony\\Component\\Console\\Application",
      "type":"->",
      "args":[  
         {  

         },
         {  

         },
         {  

         }
      ]
   },
   {  
      "file":"\/var\/www\/html\/nextcloud\/3rdparty\/symfony\/console\/Application.php",
      "line":145,
      "function":"doRun",
      "class":"Symfony\\Component\\Console\\Application",
      "type":"->",
      "args":[  
         {  

         },
         {  

         }
      ]
   },
   {  
      "file":"\/var\/www\/html\/nextcloud\/lib\/private\/Console\/Application.php",
      "line":213,
      "function":"run",
      "class":"Symfony\\Component\\Console\\Application",
      "type":"->",
      "args":[  
         {  

         },
         {  

         }
      ]
   },
   {  
      "file":"\/var\/www\/html\/nextcloud\/console.php",
      "line":97,
      "function":"run",
      "class":"OC\\Console\\Application",
      "type":"->",
      "args":[  

      ]
   },
   {  
      "file":"\/var\/www\/html\/nextcloud\/occ",
      "line":11,
      "args":[  
         "\/var\/www\/html\/nextcloud\/console.php"
      ],
      "function":"require_once"
   }
]
Browser log

No console errors.

dbo@hera:/var/www/html/nextcloud# ghostscript -v

GPL Ghostscript 9.26 (2018-11-20)
Copyright (C) 2018 Artifex Software, Inc.  All rights reserved.

dbo@hera:/var/www/html/nextcloud# convert -version

Version: ImageMagick 6.9.7-4 Q16 x86_64 20170114 http://www.imagemagick.org
Copyright: ยฉ 1999-2017 ImageMagick Studio LLC
License: http://www.imagemagick.org/script/license.php
Features: Cipher DPC Modules OpenMP
Delegates (built-in): bzlib djvu fftw fontconfig freetype jbig jng jpeg lcms lqr ltdl lzma openexr pangocairo png tiff wmf x xml zlib

dbo@hera:/var/www/html/nextcloud# tesseract --version

tesseract 4.0.0-beta.1
 leptonica-1.74.4
  libjpeg 8d (libjpeg-turbo 1.5.2) : libpng 1.6.34 : libtiff 4.0.9 : zlib 1.2.11

dbo@hera:/var/www/html/nextcloud# curl -XGET 'localhost:9200'

{
  "name" : "hera-1",
  "cluster_name" : "nc-search",
  "cluster_uuid" : "f2Jll5r4QniNod7xa6aG4g",
  "version" : {
    "number" : "6.7.2",
    "build_flavor" : "default",
    "build_type" : "deb",
    "build_hash" : "56c6e48",
    "build_date" : "2019-04-29T09:05:50.290371Z",
    "build_snapshot" : false,
    "lucene_version" : "7.7.0",
    "minimum_wire_compatibility_version" : "5.6.0",
    "minimum_index_compatibility_version" : "5.0.0"
  },
  "tagline" : "You Know, for Search"
}

dbo@hera:/var/www/html/nextcloud# sudo -u www-data php /var/www/html/nextcloud/occ

fulltextsearch:check
Full text search 1.3.1

- Search Platform:
Elasticsearch 1.3.0
{
    "elastic_host": [
        "http:\/\/localhost:9200"
    ],
    "elastic_index": "nextcloud"
}

- Content Providers:
Files 1.3.0
{
    "files_local": "1",
    "files_external": "1",
    "files_group_folders": "0",
    "files_encrypted": "0",
    "files_federated": "0",
    "files_size": "10",
    "files_pdf": "1",
    "files_office": "1",
    "files_image": "0",
    "files_audio": "0"
}

dbo@hera:/var/www/html/nextcloud# sudo -u www-data php /var/www/html/nextcloud/occ

fulltextsearch:test

.Testing your current setup:
Creating mocked content provider. ok
Testing mocked provider: get indexable documents. (2 items) ok
Loading search platform. (Elasticsearch) ok
Testing search platform. ok
Locking process ok
Removing test. ok
Pausing 3 seconds 1 2 3 ok
Initializing index mapping. ok
Indexing generated documents. ok
Pausing 3 seconds 1 2 3 ok
Retreiving content from a big index (license). (size: 32386) ok
Comparing document with source. ok
Searching basic keywords:
- 'test' (result: 1, expected: ["simple"]) ok
- 'document is a simple test' (result: 2, expected: ["simple","license"]) ok
- '"document is a test"' (result: 0, expected: []) ok
- '"document is a simple test"' (result: 1, expected: ["simple"]) ok
- 'document is a simple -test' (result: 1, expected: ["license"]) ok
- 'document is a simple +test' (result: 1, expected: ["simple"]) ok
- '-document is a simple test' (result: 0, expected: []) ok
Updating documents access. Force Quit

dbo@hera:/var/www/html/nextcloud# sudo -u www-data php ./occ

fulltextsearch:document:provider dbo files 4540 --content
Document:
{
    "id": "4540",
    "providerId": "files",
    "access": {
        "ownerId": "dbo",
        "viewerId": "",
        "users": [],
        "groups": [],
        "circles": [],
        "links": []
    },
    "modifiedTime": 1557022926,
    "title": "JH.jpg",
    "link": "",
    "index": {
        "ownerId": "dbo",
        "providerId": "files",
        "source": "files_local",
        "documentId": "4540",
        "lastIndex": 0,
        "errors": [
            {
                "message": "Error while getting file content",
                "exception": "Class 'OCP\\FullTextSearch\\Model\\IndexDocument' not found",
                "severity": 3
            }
        ],
        "errorCount": 1,
        "status": 28,
        "options": []
    },
    "source": "files_local",
    "info": {
        "share_names": {
            "dbo": "JH.jpg"
        }
    },
    "hash": "",
    "contentSize": 0,
    "tags": [],
    "metatags": [
        "files_local"
    ],
    "subtags": [],
    "more": [],
    "excerpts": [],
    "score": ""
}
Content:

1 Part(s)
'comments'    (size: 0)

Search from CLI doesn't work

Example:

# sudo -u nginx php /var/www/nextcloud/occ fulltextsearch:search admin help
search
An unhandled exception has been thrown:
TypeError: Argument 1 passed to OCA\Files_FullTextSearch\Service\FilesService::getFileFromId() must be of the type string, null given, called in /var/www/nextcloud/apps/files_fulltextsearch/lib/Service/SearchService.php on line 241 and defined in /var/www/nextcloud/apps/files_fulltextsearch/lib/Service/FilesService.php:432
Stack trace:
#0 /var/www/nextcloud/apps/files_fulltextsearch/lib/Service/SearchService.php(241): OCA\Files_FullTextSearch\Service\FilesService->getFileFromId(NULL, 8)
#1 /var/www/nextcloud/apps/files_fulltextsearch/lib/Service/SearchService.php(219): OCA\Files_FullTextSearch\Service\SearchService->setDocumentInfo(Object(OCA\Files_FullTextSearch\Model\FilesDocument))

App versions:

  - fulltextsearch: 1.3.4
  - fulltextsearch_elasticsearch: 1.3.3
  - files_fulltextsearch: 1.3.2

Error when accessing link-shared folder using WebDAV

When I try to connect over webdav to a shared folder I get a server error if fulltextsearch is enabled.
The error is the following:

[public] Error: TypeError: Argument 1 passed to OCA\Files_FullTextSearch\Service\FilesService::getFileFromPath() must be of the type string, null given, called in /var/www/html/custom_apps/files_fulltextsearch/lib/Events/FilesEvents.php on line 137 at <<closure>>

 0. /var/www/html/custom_apps/files_fulltextsearch/lib/Events/FilesEvents.php line 137
    getFileFromPath(null, "REMOVED")
 1. /var/www/html/custom_apps/files_fulltextsearch/lib/Hooks/FilesHooks.php line 74
    onNewFile({path: "REMOVED"})
 2. /var/www/html/lib/private/legacy/hook.php line 106
    onNewFile({path: "REMOVED"})
 3. /var/www/html/apps/dav/lib/Connector/Sabre/File.php line 346
    emit("OC_Filesystem", "post_create", {path: "REMOVED"})
 4. /var/www/html/apps/dav/lib/Connector/Sabre/File.php line 278
    emitPostHooks(false)
 5. /var/www/html/apps/dav/lib/Connector/Sabre/Directory.php line 156
    put(null)
 6. /var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php line 1096
    createFile("zotero-test-file.prop", null)
 7. /var/www/html/3rdparty/sabre/dav/lib/DAV/CorePlugin.php line 525
    createFile("zotero/zotero-test-file.prop", null, null)
 8. <<closure>>
    httpPut(Sabre\HTTP\Reque ... "}, Sabre\HTTP\Response {})
 9. /var/www/html/3rdparty/sabre/event/lib/EventEmitterTrait.php line 105
    call_user_func_array([Sabre\DAV\CorePlugin {},"httpPut"], [Sabre\HTTP\Requ ... }])
10. /var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php line 479
    emit("method:PUT", [Sabre\HTTP\Requ ... }])
11. /var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php line 254
    invokeMethod(Sabre\HTTP\Reque ... "}, Sabre\HTTP\Response {})
12. /var/www/html/apps/dav/appinfo/v1/publicwebdav.php line 107
    exec()
13. /var/www/html/public.php line 79
    require_once("/var/www/html/a ... p")

PUT /public.php/webdav/zotero/zotero-test-file.prop

Thanks,

Bad argument count when constructing FolderManager in GroupFoldersService

Hello,

I updated the Group Folder application today. Then my Nextcloud instance was blocked by an exception coming from files_fulltextsearch.

I disabled the Group Folder application and updated all the applications and Nextcloud. So I have now:

  • Nextcloud 15.0.0
  • Group Folders 2.0.0
  • Files Full Text Search: 1.2.0

The error is the following:

Too few arguments to function OCA\\GroupFolders\\Folder\\FolderManager::__construct(), 1 passed in /path/to/nextcloud/apps/files_fulltextsearch/lib/Service/GroupFoldersService.php on line 101 and exactly 3 expected
Full dump from Nextcloud log - click to expand
{
	"Exception": "ArgumentCountError",
	"Message": "Too few arguments to function OCA\\GroupFolders\\Folder\\FolderManager::__construct(), 1 passed in \/path\/to\/nextcloud\/apps\/files_fulltextsearch\/lib\/Service\/GroupFoldersService.php on line 101 and exactly 3 expected",
	"Code": 0,
	"Trace": [
		{
			"file": "\/path\/to\/nextcloud\/apps\/files_fulltextsearch\/lib\/Service\/GroupFoldersService.php",
			"line":  101,
			"function":  "__construct",
			"class":  "OCA\\GroupFolders\\Folder\\FolderManager",
			"type":  "->",
			"args":  [
				{"__class__": "OC\\DB\\Connection"}
			]
		},
		{
			"function": "__construct",
			"class": "OCA\\Files_FullTextSearch\\Service\\GroupFoldersService",
			"type": "->",
			"args": [
				"user",
				{"__class__": "OC\\DB\\Connection"},
				{"__class__": "OC\\App\\AppManager"},
				{"__class__": "OC\\Share20\\Manager"},
				{"__class__": "OC\\Group\\Manager"},
				{"__class__": "OCA\\Files_FullTextSearch\\Service\\LocalFilesService"},
				{
					"defaults": {
						"files_local": "1",
						"files_external": "0",
						"files_group_folders": "0",
						"files_encrypted": "0",
						"files_federated": "0",
						"files_size": "20",
						"files_pdf": "1",
						"files_office": "1",
						"files_image": "0",
						"files_audio": "0"
					},
					"__class__": "OCA\\Files_FullTextSearch\\Service\\ConfigService"
				},
				{"__class__": "OCA\\Files_FullTextSearch\\Service\\MiscService"}
			]
		},
		{
			"file": "\/path\/to\/nextcloud\/lib\/private\/AppFramework\/Utility\/SimpleContainer.php",
			"line": 81,
			"function": "newInstanceArgs",
			"class": "ReflectionClass",
			"type": "->",
			"args": [
				[
					"user",
					{"__class__": "OC\\DB\\Connection"},
					{"__class__": "OC\\App\\AppManager"},
					{"__class__": "OC\\Share20\\Manager"},
					{"__class__": "OC\\Group\\Manager"},
					{"__class__": "OCA\\Files_FullTextSearch\\Service\\LocalFilesService"},
					{
						"defaults": {
							"files_local": "1",
							"files_external": "0",
							"files_group_folders": "0",
							"files_encrypted": "0",
							"files_federated": "0",
							"files_size": "20",
							"files_pdf": "1",
							"files_office": "1",
							"files_image": "0",
							"files_audio": "0"
						},
						"__class__": "OCA\\Files_FullTextSearch\\Service\\ConfigService"
					},
					{"__class__": "OCA\\Files_FullTextSearch\\Service\\MiscService"}
				]
			]
		},
		{
			"file": "\/path\/to\/nextcloud\/lib\/private\/AppFramework\/Utility\/SimpleContainer.php",
			"line": 98,
			"function": "buildClass",
			"class": "OC\\AppFramework\\Utility\\SimpleContainer",
			"type": "->",
			"args": [
				{
					"name": "OCA\\Files_FullTextSearch\\Service\\GroupFoldersService",
					"__class__": "ReflectionClass"
				}
			]
		},
		{
			"file": "\/path\/to\/nextcloud\/lib\/private\/AppFramework\/Utility\/SimpleContainer.php",
			"line": 119,
			"function": "resolve",
			"class": "OC\\AppFramework\\Utility\\SimpleContainer",
			"type": "->",
			"args": [
				"OCA\\Files_FullTextSearch\\Service\\GroupFoldersService"
			]
		},
		{
			"file": "\/path\/to\/nextcloud\/lib\/private\/AppFramework\/DependencyInjection\/DIContainer.php",
			"line": 425,
			"function": "query",
			"class": "OC\\AppFramework\\Utility\\SimpleContainer",
			"type": "->",
			"args": [
				"OCA\\Files_FullTextSearch\\Service\\GroupFoldersService"
			]
		},
		{
			"file": "\/path\/to\/nextcloud\/lib\/private\/AppFramework\/DependencyInjection\/DIContainer.php",
			"line": 396,
			"function": "queryNoFallback",
			"class": "OC\\AppFramework\\DependencyInjection\\DIContainer",
			"type": "->",
			"args": [
				"OCA\\Files_FullTextSearch\\Service\\GroupFoldersService"
			]
		},
		{
			"file": "\/path\/to\/nextcloud\/lib\/private\/AppFramework\/Utility\/SimpleContainer.php",
			"line": 68,
			"function": "query",
			"class": "OC\\AppFramework\\DependencyInjection\\DIContainer",
			"type": "->",
			"args": [
				"OCA\\Files_FullTextSearch\\Service\\GroupFoldersService"
			]
		},
		{
			"file": "\/path\/to\/nextcloud\/lib\/private\/AppFramework\/Utility\/SimpleContainer.php",
			"line": 98,
			"function": "buildClass",
			"class": "OC\\AppFramework\\Utility\\SimpleContainer",
			"type": "->",
			"args": [
				{
					"name": "OCA\\Files_FullTextSearch\\Service\\FilesService",
					"__class__": "ReflectionClass"
				}
			]
		},
		{
			"file": "\/path\/to\/nextcloud\/lib\/private\/AppFramework\/Utility\/SimpleContainer.php",
			"line": 119,
			"function": "resolve",
			"class": "OC\\AppFramework\\Utility\\SimpleContainer",
			"type": "->",
			"args": [
				"OCA\\Files_FullTextSearch\\Service\\FilesService"
			]
		},
		{
			"file": "\/path\/to\/nextcloud\/lib\/private\/AppFramework\/DependencyInjection\/DIContainer.php",
			"line": 425,
			"function": "query",
			"class": "OC\\AppFramework\\Utility\\SimpleContainer",
			"type": "->",
			"args": [
				"OCA\\Files_FullTextSearch\\Service\\FilesService"
			]
		},
		{
			"file": "\/path\/to\/nextcloud\/lib\/private\/AppFramework\/DependencyInjection\/DIContainer.php",
			"line": 396,
			"function": "queryNoFallback",
			"class": "OC\\AppFramework\\DependencyInjection\\DIContainer",
			"type": "->",
			"args": [
				"OCA\\Files_FullTextSearch\\Service\\FilesService"
			]
		},
		{
			"file": "\/path\/to\/nextcloud\/lib\/private\/AppFramework\/Utility\/SimpleContainer.php",
			"line": 68,
			"function": "query",
			"class": "OC\\AppFramework\\DependencyInjection\\DIContainer",
			"type": "->",
			"args": [
				"OCA\\Files_FullTextSearch\\Service\\FilesService"
			]
		},
		{
			"file": "\/path\/to\/nextcloud\/lib\/private\/AppFramework\/Utility\/SimpleContainer.php",
			"line": 98,
			"function": "buildClass",
			"class": "OC\\AppFramework\\Utility\\SimpleContainer",
			"type": "->",
			"args": [
				{
					"name": "OCA\\Files_FullTextSearch\\Provider\\FilesProvider",
					"__class__": "ReflectionClass"
				}
			]
		},
		{
			"file": "\/path\/to\/nextcloud\/lib\/private\/AppFramework\/Utility\/SimpleContainer.php",
			"line": 119,
			"function": "resolve",
			"class": "OC\\AppFramework\\Utility\\SimpleContainer",
			"type": "->",
			"args": [
				"OCA\\Files_FullTextSearch\\Provider\\FilesProvider"
			]
		},
		{
			"file": "\/path\/to\/nextcloud\/lib\/private\/AppFramework\/DependencyInjection\/DIContainer.php",
			"line": 425,
			"function": "query",
			"class": "OC\\AppFramework\\Utility\\SimpleContainer",
			"type": "->",
			"args": [
				"OCA\\Files_FullTextSearch\\Provider\\FilesProvider"
			]
		},
		{
			"file": "\/path\/to\/nextcloud\/lib\/private\/ServerContainer.php",
			"line": 116,
			"function": "queryNoFallback",
			"class": "OC\\AppFramework\\DependencyInjection\\DIContainer",
			"type": "->",
			"args": [
				"OCA\\Files_FullTextSearch\\Provider\\FilesProvider"
			]
		},
		{
			"file": "\/path\/to\/nextcloud\/apps\/fulltextsearch\/lib\/Service\/ProviderService.php",
			"line": 121,
			"function": "query",
			"class": "OC\\ServerContainer",
			"type": "->",
			"args": [
				"OCA\\Files_FullTextSearch\\Provider\\FilesProvider"
			]
		},
		{
			"file": "\/path\/to\/nextcloud\/apps\/fulltextsearch\/lib\/Service\/ProviderService.php",
			"line": 296,
			"function": "loadProvider",
			"class": "OCA\\FullTextSearch\\Service\\ProviderService",
			"type": "->",
			"args": [
				"files_fulltextsearch",
				"OCA\\Files_FullTextSearch\\Provider\\FilesProvider"
			]
		},
		{
			"file": "\/path\/to\/nextcloud\/apps\/fulltextsearch\/lib\/Service\/ProviderService.php",
			"line": 278,
			"function": "loadProvidersFromList",
			"class": "OCA\\FullTextSearch\\Service\\ProviderService",
			"type": "->",
			"args": [
				"files_fulltextsearch",
				["OCA\\Files_FullTextSearch\\Provider\\FilesProvider"]
			]
		},
		{
			"file": "\/path\/to\/nextcloud\/apps\/fulltextsearch\/lib\/Service\/ProviderService.php",
			"line": 101,
			"function": "loadProvidersFromApp",
			"class": "OCA\\FullTextSearch\\Service\\ProviderService",
			"type": "->",
			"args": [
				"files_fulltextsearch"
			]
		},
		{
			"file": "\/path\/to\/nextcloud\/apps\/fulltextsearch\/lib\/Service\/ProviderService.php",
			"line": 155,
			"function": "loadProviders",
			"class": "OCA\\FullTextSearch\\Service\\ProviderService",
			"type": "->",
			"args": []
		},
		{
			"file": "\/path\/to\/nextcloud\/apps\/fulltextsearch\/lib\/Capabilities.php",
			"line": 80,
			"function": "getConfiguredProviders",
			"class": "OCA\\FullTextSearch\\Service\\ProviderService",
			"type": "->",
			"args": []
		},
		{
			"file": "\/path\/to\/nextcloud\/lib\/private\/CapabilitiesManager.php",
			"line": 68,
			"function": "getCapabilities",
			"class": "OCA\\FullTextSearch\\Capabilities",
			"type": "->",
			"args": []
		},
		{
			"file": "\/path\/to\/nextcloud\/lib\/private\/Template\/JSConfigHelper.php",
			"line": 166,
			"function": "getCapabilities",
			"class": "OC\\CapabilitiesManager",
			"type": "->",
			"args": []
		},
		{
			"file": "\/path\/to\/nextcloud\/lib\/private\/TemplateLayout.php",
			"line": 170,
			"function": "getConfig",
			"class": "OC\\Template\\JSConfigHelper",
			"type": "->",
			"args": []
		},
		{
			"file": "\/path\/to\/nextcloud\/lib\/private\/legacy\/template.php",
			"line": 211,
			"function": "__construct",
			"class": "OC\\TemplateLayout",
			"type": "->",
			"args": [
				"user","files"
			]
		},
		{
			"file": "\/path\/to\/nextcloud\/lib\/public\/AppFramework\/Http\/TemplateResponse.php",
			"line": 157,
			"function": "fetchPage",
			"class": "OC_Template",
			"type": "->",
			"args": [
				{
					"usedSpacePercent": 3,
					"owner": "user",
					"ownerDisplayName": "User Name",
					"isPublic": false,
					"allowShareWithLink": "yes",
					"defaultFileSorting": "name",
					"defaultFileSortingDirection": "asc",
					"showgridview": false,
					"isIE": false,
					"showHiddenFiles": 0,
					"fileNotFound": 0,
					"appNavigation": {
						"__class__": "OCP\\Template"
					},
					"appContents": {
						"files": {
							"id": "files",
							"content": "<div id=\"controls\">\n\t\t<div class=\"actions creatable hidden\">\n\t\t\t<div id=\"uploadprogresswrapper\">\n\t\t\t\t<div id=\"uploadprogressbar\">\n\t\t\t\t\t<em class=\"label outer\" style=\"display:none\"><span class=\"desktop\">T\u00e9l\u00e9versement en cours...<\/span><span class=\"mobile\">\u2026<\/span><\/em>\n\t\t\t\t<\/div>\n\t\t\t\t<button class=\"stop icon-close\" style=\"display:none\">\n\t\t\t\t\t<span class=\"hidden-visually\">Annuler le t\u00e9l\u00e9versement<\/span>\n\t\t\t\t<\/button>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<div id=\"file_action_panel\"><\/div>\n\t\t<div class=\"notCreatable notPublic hidden\">\n\t\t\tVous n&#039;avez pas la permission d&#039;envoyer ou de cr\u00e9er des fichiers ici\t\t<\/div>\n\t\t<input type=\"hidden\" name=\"permissions\" value=\"\" id=\"permissions\">\n\t<input type=\"hidden\" id=\"free_space\" value=\"\">\n\t\t<input type=\"hidden\" class=\"max_human_file_size\"\n\t\t   value=\"(max )\">\n<\/div>\n\n<div id=\"emptycontent\" class=\"hidden\">\n\t<div class=\"icon-folder\"><\/div>\n\t<h2>Aucun fichier<\/h2>\n\t<p class=\"uploadmessage hidden\">D\u00e9posez du contenu ou synchronisez vos appareils !<\/p>\n<\/div>\n\n<div class=\"nofilterresults emptycontent hidden\">\n\t<div class=\"icon-search\"><\/div>\n\t<h2>Aucune entr\u00e9e trouv\u00e9e dans ce dossier<\/h2>\n\t<p><\/p>\n<\/div>\n<table id=\"filestable\" class=\"list-container \" data-allow-public-upload=\"yes\" data-preview-x=\"250\" data-preview-y=\"250\">\n\t<thead>\n\t\t<tr>\n\t\t\t<th id=\"headerSelection\" class=\"hidden column-selection\">\n\t\t\t\t<input type=\"checkbox\" id=\"select_all_files\" class=\"select-all checkbox\"\/>\n\t\t\t\t<label for=\"select_all_files\">\n\t\t\t\t\t<span class=\"hidden-visually\">Tout s\u00e9lectionner<\/span>\n\t\t\t\t<\/label>\n\t\t\t<\/th>\n\t\t\t<th id='headerName' class=\"hidden column-name\">\n\t\t\t\t<div id=\"headerName-container\">\n\t\t\t\t\t<a class=\"name sort columntitle\" data-sort=\"name\">\n                        <span>Nom<\/span>\n                        <span class=\"sort-indicator\"><\/span>\n\n                    <\/a>\n                    <span id=\"selectedActionsList\" class=\"selectedActions\">\n                        <a href=\"\" class=\"actions-selected\">\n                            <span class=\"icon icon-more\"><\/span>\n                            <span>Actions<\/span>\n                        <\/a>\n\t\t\t\t\t<\/span>\n\t\t\t\t<\/div>\n\t\t\t<\/th>\n\t\t\t<th id=\"headerSize\" class=\"hidden column-size\">\n\t\t\t\t<a class=\"size sort columntitle\" data-sort=\"size\"><span>Taille<\/span><span class=\"sort-indicator\"><\/span><\/a>\n\t\t\t<\/th>\n\t\t\t<th id=\"headerDate\" class=\"hidden column-mtime\">\n\t\t\t\t<a id=\"modified\" class=\"columntitle\" data-sort=\"mtime\"><span>Modifi\u00e9<\/span><span class=\"sort-indicator\"><\/span><\/a>\n\t\t\t<\/th>\n\t\t<\/tr>\n\t<\/thead>\n\t<tbody id=\"fileList\">\n\t<\/tbody>\n\t<tfoot>\n\t<\/tfoot>\n<\/table>\n<input type=\"hidden\" name=\"dir\" id=\"dir\" value=\"\" \/>\n<div class=\"hiddenuploadfield\">\n\t<input type=\"file\" id=\"file_upload_start\" class=\"hiddenuploadfield\" name=\"files[]\" \/>\n<\/div>\n<div id=\"editor\"><\/div><!-- FIXME Do not use this div in your app! It is deprecated and will be removed in the future! -->\n<div id=\"uploadsize-message\" title=\"T\u00e9l\u00e9versement trop volumineux\">\n\t<p>\n\tLes fichiers que vous essayez d&#039;envoyer d\u00e9passent la taille maximale d&#039;envoi permise par ce serveur.\t<\/p>\n<\/div>\n"
						},
						"recent": {
							"id": "recent",
							"content": "<div id='notification'><\/div>\n\n<div id=\"emptycontent\" class=\"hidden\"><\/div>\n\n<input type=\"hidden\" name=\"dir\" value=\"\" id=\"dir\">\n\n<div class=\"nofilterresults hidden\">\n\t<div class=\"icon-search\"><\/div>\n\t<h2>Aucune entr\u00e9e trouv\u00e9e dans ce dossier<\/h2>\n\t<p><\/p>\n<\/div>\n\n<table id=\"filestable\" class=\"list-container \">\n\t<thead>\n\t<tr>\n\t\t<th id='headerName' class=\"hidden column-name\">\n\t\t\t<div id=\"headerName-container\">\n\t\t\t\t<a class=\"name sort columntitle\"\n\t\t\t\t   data-sort=\"name\"><span>Nom<\/span><\/a>\n\t\t\t<\/div>\n\t\t<\/th>\n\t\t<th id=\"headerSize\" class=\"hidden column-size\">\n\t\t\t<a class=\"size sort columntitle\"\n\t\t\t   data-sort=\"size\"><span>Taille<\/span><\/a>\n\t\t<\/th>\n\t\t<th id=\"headerDate\" class=\"hidden column-mtime\">\n\t\t\t<a id=\"modified\" class=\"columntitle\"\n\t\t\t   data-sort=\"mtime\"><span>Modifi\u00e9<\/span><span\n\t\t\t\t\tclass=\"sort-indicator\"><\/span><\/a>\n\t\t\t<span class=\"selectedActions\">\n\t\t\t\t<a href=\"\" class=\"delete-selected\">\n\t\t\t\t\t<span class=\"icon icon-delete\"><\/span>\n\t\t\t\t\t<span>Supprimer<\/span>\n\t\t\t\t<\/a>\n\t\t\t<\/span>\n\t\t<\/th>\n\t<\/tr>\n\t<\/thead>\n\t<tbody id=\"fileList\">\n\t<\/tbody>\n\t<tfoot>\n\t<\/tfoot>\n<\/table>\n"
						},
						"-documents-archives": {
							"id": "-documents-archives",
							"content": ""
						},
						"favorites": {
							"id": "favorites",
							"content": "<div id='notification'><\/div>\n\n<div id=\"emptycontent\" class=\"hidden\">\n\t<div class=\"icon-starred\"><\/div>\n\t<h2>Aucun favori pour l&#039;instant<\/h2>\n\t<p>Les fichiers et dossiers ajout\u00e9s \u00e0 vos favoris appara\u00eetront ici<\/p>\n<\/div>\n\n<input type=\"hidden\" name=\"dir\" value=\"\" id=\"dir\">\n\n<div class=\"nofilterresults hidden\">\n\t<div class=\"icon-search\"><\/div>\n\t<h2>Aucune entr\u00e9e trouv\u00e9e dans ce dossier<\/h2>\n\t<p><\/p>\n<\/div>\n<table id=\"filestable\" class=\"list-container \">\n\t<thead>\n\t\t<tr>\n\t\t\t<th id='headerName' class=\"hidden column-name\">\n\t\t\t\t<div id=\"headerName-container\">\n\t\t\t\t\t<a class=\"name sort columntitle\" data-sort=\"name\"><span>Nom<\/span><span class=\"sort-indicator\"><\/span><\/a>\n\t\t\t\t<\/div>\n\t\t\t<\/th>\n\t\t\t<th id=\"headerSize\" class=\"hidden column-size\">\n\t\t\t\t<a class=\"size sort columntitle\" data-sort=\"size\"><span>Taille<\/span><span class=\"sort-indicator\"><\/span><\/a>\n\t\t\t<\/th>\n\t\t\t<th id=\"headerDate\" class=\"hidden column-mtime\">\n\t\t\t\t<a id=\"modified\" class=\"columntitle\" data-sort=\"mtime\"><span>Modifi\u00e9<\/span><span class=\"sort-indicator\"><\/span><\/a>\n\t\t\t\t<span class=\"selectedActions\">\n\t\t\t\t    <a href=\"\" class=\"delete-selected\">\n\t\t\t\t\t<img class=\"svg\" alt=\"\"\n\t\t\t\t\t     src=\"\/core\/img\/actions\/delete.svg\" \/>\n\t\t\t\t\tSupprimer\t\t\t\t    <\/a>\n\t\t\t\t<\/span>\n\t\t\t<\/th>\n\t\t<\/tr>\n\t<\/thead>\n\t<tbody id=\"fileList\">\n\t<\/tbody>\n\t<tfoot>\n\t<\/tfoot>\n<\/table>\n"
						},
						"sharingout": {
							"id": "sharingout",
							"content": "<div id='notification'><\/div>\n\n<div id=\"emptycontent\" class=\"hidden\"><\/div>\n\n<input type=\"hidden\" name=\"dir\" value=\"\" id=\"dir\">\n\n<div class=\"nofilterresults hidden\">\n\t<div class=\"icon-search\"><\/div>\n\t<h2>Aucune entr\u00e9e trouv\u00e9e dans ce dossier<\/h2>\n<\/div>\n\n<table id=\"filestable\" class=\"list-container \">\n\t<thead>\n\t\t<tr>\n\t\t\t<th id='headerName' class=\"hidden column-name\">\n\t\t\t\t<div id=\"headerName-container\">\n\t\t\t\t\t<a class=\"name sort columntitle\" data-sort=\"name\"><span>Nom<\/span><span class=\"sort-indicator\"><\/span><\/a>\n\t\t\t\t<\/div>\n\t\t\t<\/th>\n\t\t\t<th id=\"headerDate\" class=\"hidden column-mtime\">\n\t\t\t\t<a id=\"modified\" class=\"columntitle\" data-sort=\"mtime\"><span>Date de partage<\/span><span class=\"sort-indicator\"><\/span><\/a>\n\t\t\t<\/th>\n\t\t\t<th class=\"hidden column-expiration\">\n\t\t\t\t<a class=\"columntitle\"><span>Date d&#039;expiration<\/span><\/a>\n\t\t\t<\/th>\n\t\t<\/tr>\n\t<\/thead>\n\t<tbody id=\"fileList\">\n\t<\/tbody>\n\t<tfoot>\n\t<\/tfoot>\n<\/table>\n"
						},
						"sharingin": {
							"id": "sharingin",
							"content": "<div id='notification'><\/div>\n\n<div id=\"emptycontent\" class=\"hidden\"><\/div>\n\n<input type=\"hidden\" name=\"dir\" value=\"\" id=\"dir\">\n\n<div class=\"nofilterresults hidden\">\n\t<div class=\"icon-search\"><\/div>\n\t<h2>Aucune entr\u00e9e trouv\u00e9e dans ce dossier<\/h2>\n<\/div>\n\n<table id=\"filestable\" class=\"list-container \">\n\t<thead>\n\t\t<tr>\n\t\t\t<th id='headerName' class=\"hidden column-name\">\n\t\t\t\t<div id=\"headerName-container\">\n\t\t\t\t\t<a class=\"name sort columntitle\" data-sort=\"name\"><span>Nom<\/span><span class=\"sort-indicator\"><\/span><\/a>\n\t\t\t\t<\/div>\n\t\t\t<\/th>\n\t\t\t<th id=\"headerDate\" class=\"hidden column-mtime\">\n\t\t\t\t<a id=\"modified\" class=\"columntitle\" data-sort=\"mtime\"><span>Date de partage<\/span><span class=\"sort-indicator\"><\/span><\/a>\n\t\t\t<\/th>\n\t\t\t<th class=\"hidden column-expiration\">\n\t\t\t\t<a class=\"columntitle\"><span>Date d&#039;expiration<\/span><\/a>\n\t\t\t<\/th>\n\t\t<\/tr>\n\t<\/thead>\n\t<tbody id=\"fileList\">\n\t<\/tbody>\n\t<tfoot>\n\t<\/tfoot>\n<\/table>\n"
						},
						"sharinglinks": {
							"id": "sharinglinks",
							"content": "<div id='notification'><\/div>\n\n<div id=\"emptycontent\" class=\"hidden\"><\/div>\n\n<input type=\"hidden\" name=\"dir\" value=\"\" id=\"dir\">\n\n<div class=\"nofilterresults hidden\">\n\t<div class=\"icon-search\"><\/div>\n\t<h2>Aucune entr\u00e9e trouv\u00e9e dans ce dossier<\/h2>\n<\/div>\n\n<table id=\"filestable\" class=\"list-container \">\n\t<thead>\n\t\t<tr>\n\t\t\t<th id='headerName' class=\"hidden column-name\">\n\t\t\t\t<div id=\"headerName-container\">\n\t\t\t\t\t<a class=\"name sort columntitle\" data-sort=\"name\"><span>Nom<\/span><span class=\"sort-indicator\"><\/span><\/a>\n\t\t\t\t<\/div>\n\t\t\t<\/th>\n\t\t\t<th id=\"headerDate\" class=\"hidden column-mtime\">\n\t\t\t\t<a id=\"modified\" class=\"columntitle\" data-sort=\"mtime\"><span>Date de partage<\/span><span class=\"sort-indicator\"><\/span><\/a>\n\t\t\t<\/th>\n\t\t\t<th class=\"hidden column-expiration\">\n\t\t\t\t<a class=\"columntitle\"><span>Date d&#039;expiration<\/span><\/a>\n\t\t\t<\/th>\n\t\t<\/tr>\n\t<\/thead>\n\t<tbody id=\"fileList\">\n\t<\/tbody>\n\t<tfoot>\n\t<\/tfoot>\n<\/table>\n"
						},
						"deletedshares": {
							"id": "deletedshares",
							"content": "<div id='notification'><\/div>\n\n<div id=\"emptycontent\" class=\"hidden\"><\/div>\n\n<input type=\"hidden\" name=\"dir\" value=\"\" id=\"dir\">\n\n<div class=\"nofilterresults hidden\">\n\t<div class=\"icon-search\"><\/div>\n\t<h2>Aucune entr\u00e9e trouv\u00e9e dans ce dossier<\/h2>\n<\/div>\n\n<table id=\"filestable\" class=\"list-container \">\n\t<thead>\n\t\t<tr>\n\t\t\t<th id='headerName' class=\"hidden column-name\">\n\t\t\t\t<div id=\"headerName-container\">\n\t\t\t\t\t<a class=\"name sort columntitle\" data-sort=\"name\"><span>Nom<\/span><span class=\"sort-indicator\"><\/span><\/a>\n\t\t\t\t<\/div>\n\t\t\t<\/th>\n\t\t\t<th id=\"headerDate\" class=\"hidden column-mtime\">\n\t\t\t\t<a id=\"modified\" class=\"columntitle\" data-sort=\"mtime\"><span>Date de partage<\/span><span class=\"sort-indicator\"><\/span><\/a>\n\t\t\t<\/th>\n\t\t\t<th class=\"hidden column-expiration\">\n\t\t\t\t<a class=\"columntitle\"><span>Date d&#039;expiration<\/span><\/a>\n\t\t\t<\/th>\n\t\t<\/tr>\n\t<\/thead>\n\t<tbody id=\"fileList\">\n\t<\/tbody>\n\t<tfoot>\n\t<\/tfoot>\n<\/table>\n"
						},
						"shareoverview": {
							"id": "shareoverview",
							"content": "<div id='notification'><\/div>\n\n<div id=\"emptycontent\" class=\"hidden\"><\/div>\n\n<input type=\"hidden\" name=\"dir\" value=\"\" id=\"dir\">\n\n<div class=\"nofilterresults hidden\">\n\t<div class=\"icon-search\"><\/div>\n\t<h2>Aucune entr\u00e9e trouv\u00e9e dans ce dossier<\/h2>\n<\/div>\n\n<table id=\"filestable\" class=\"list-container \">\n\t<thead>\n\t\t<tr>\n\t\t\t<th id='headerName' class=\"hidden column-name\">\n\t\t\t\t<div id=\"headerName-container\">\n\t\t\t\t\t<a class=\"name sort columntitle\" data-sort=\"name\"><span>Nom<\/span><span class=\"sort-indicator\"><\/span><\/a>\n\t\t\t\t<\/div>\n\t\t\t<\/th>\n\t\t\t<th id=\"headerDate\" class=\"hidden column-mtime\">\n\t\t\t\t<a id=\"modified\" class=\"columntitle\" data-sort=\"mtime\"><span>Date de partage<\/span><span class=\"sort-indicator\"><\/span><\/a>\n\t\t\t<\/th>\n\t\t\t<th class=\"hidden column-expiration\">\n\t\t\t\t<a class=\"columntitle\"><span>Date d&#039;expiration<\/span><\/a>\n\t\t\t<\/th>\n\t\t<\/tr>\n\t<\/thead>\n\t<tbody id=\"fileList\">\n\t<\/tbody>\n\t<tfoot>\n\t<\/tfoot>\n<\/table>\n"
						},
						"systemtagsfilter": {
							"id": "systemtagsfilter",
							"content": "<div id=\"controls\">\n<\/div>\n\n<div id=\"emptycontent\" class=\"hidden\">\n\t<div class=\"icon-folder\"><\/div>\n\t<h2>Aucun fichier<\/h2>\n\t<p class=\"uploadmessage hidden\"><\/p>\n<\/div>\n\n<div class=\"nofilterresults emptycontent hidden\">\n\t<div class=\"icon-search\"><\/div>\n\t<h2>Aucune entr\u00e9e trouv\u00e9e dans ce dossier<\/h2>\n\t<p><\/p>\n<\/div>\n\n<table id=\"filestable\" data-preview-x=\"250\" data-preview-y=\"250\">\n\t<thead>\n\t\t<tr>\n\t\t\t<th id='headerName' class=\"hidden column-name\">\n\t\t\t\t<div id=\"headerName-container\">\n\t\t\t\t\t<a class=\"name sort columntitle\" data-sort=\"name\"><span>Nom<\/span><span class=\"sort-indicator\"><\/span><\/a>\n\t\t\t\t<\/div>\n\t\t\t<\/th>\n\t\t\t<th id=\"headerSize\" class=\"hidden column-size\">\n\t\t\t\t<a class=\"size sort columntitle\" data-sort=\"size\"><span>Taille<\/span><span class=\"sort-indicator\"><\/span><\/a>\n\t\t\t<\/th>\n\t\t\t<th id=\"headerDate\" class=\"hidden column-mtime\">\n\t\t\t\t<a id=\"modified\" class=\"columntitle\" data-sort=\"mtime\"><span>Modifi\u00e9<\/span><span class=\"sort-indicator\"><\/span><\/a>\n\t\t\t<\/th>\n\t\t<\/tr>\n\t<\/thead>\n\t<tbody id=\"fileList\">\n\t<\/tbody>\n\t<tfoot>\n\t<\/tfoot>\n<\/table>\n<input type=\"hidden\" name=\"dir\" id=\"dir\" value=\"\" \/>\n\n"
						},
						"extstoragemounts": {
							"id": "extstoragemounts",
							"content": "<div id=\"controls\">\n\t<div id=\"file_action_panel\"><\/div>\n<\/div>\n<div id='notification'><\/div>\n\n<div id=\"emptycontent\" class=\"hidden\">\n\t<div class=\"icon-external\"><\/div>\n\t<h2>Aucun stockage externe configur\u00e9 ou vous n&#039;avez pas l&#039;autorisation de les configurer<\/h2>\n<\/div>\n\n<input type=\"hidden\" name=\"dir\" value=\"\" id=\"dir\">\n\n<table id=\"filestable\" class=\"list-container view-grid\">\n\t<thead>\n\t\t<tr>\n\t\t\t<th id='headerName' class=\"hidden column-name\">\n\t\t\t\t<div id=\"headerName-container\">\n\t\t\t\t\t<a class=\"name sort columntitle\" data-sort=\"name\"><span>Nom<\/span><span class=\"sort-indicator\"><\/span><\/a>\n\t\t\t\t<\/div>\n\t\t\t<\/th>\n\t\t\t<th id=\"headerBackend\" class=\"hidden column-backend\">\n\t\t\t\t<a class=\"backend sort columntitle\" data-sort=\"backend\"><span>Type de stockage<\/span><span class=\"sort-indicator\"><\/span><\/a>\n\t\t\t<\/th>\n\t\t\t<th id=\"headerScope\" class=\"hidden column-scope column-last\">\n\t\t\t\t<a class=\"scope sort columntitle\" data-sort=\"scope\"><span>Port\u00e9e<\/span><span class=\"sort-indicator\"><\/span><\/a>\n\t\t\t<\/th>\n\t\t<\/tr>\n\t<\/thead>\n\t<tbody id=\"fileList\">\n\t<\/tbody>\n\t<tfoot>\n\t<\/tfoot>\n<\/table>\n"
						},
						"trashbin": {
							"id": "trashbin",
							"content": "<div id=\"controls\">\n\t<div id=\"file_action_panel\"><\/div>\n<\/div>\n<div id='notification'><\/div>\n\n<div id=\"emptycontent\" class=\"hidden\">\n\t<div class=\"icon-delete\"><\/div>\n\t<h2>Aucun fichier supprim\u00e9<\/h2>\n\t<p>Les fichiers supprim\u00e9s s&#039;afficheront ici et vous pourrez les restaurer.<\/p>\n<\/div>\n\n<input type=\"hidden\" name=\"dir\" value=\"\" id=\"dir\">\n\n<div class=\"nofilterresults hidden\">\n\t<div class=\"icon-search\"><\/div>\n\t<h2>Aucune entr\u00e9e trouv\u00e9e dans ce dossier<\/h2>\n\t<p><\/p>\n<\/div>\n\n<table id=\"filestable\" class=\"list-container \">\n\t<thead>\n\t\t<tr>\n\t\t\t<th id=\"headerSelection\" class=\"hidden column-selection\">\n\t\t\t\t<input type=\"checkbox\" id=\"select_all_trash\" class=\"select-all checkbox\"\/>\n\t\t\t\t<label for=\"select_all_trash\">\n\t\t\t\t\t<span class=\"hidden-visually\">Tout s\u00e9lectionner<\/span>\n\t\t\t\t<\/label>\n\t\t\t<\/th>\n\t\t\t<th id='headerName' class=\"hidden column-name\">\n\t\t\t\t<div id=\"headerName-container\">\n\t\t\t\t\t<a class=\"name sort columntitle\" data-sort=\"name\"><span>Nom<\/span><span class=\"sort-indicator\"><\/span><\/a>\n\t\t\t\t\t<span id=\"selectedActionsList\" class='selectedActions'>\n\t\t\t\t\t\t<a href=\"\" class=\"actions-selected\">\n\t\t\t\t\t\t\t<span class=\"icon icon-more\"><\/span>\n\t\t\t\t\t\t\t<span>Actions<\/span>\n\t\t\t\t\t\t<\/a>\n\t\t\t\t\t<\/span>\n\t\t\t\t<\/div>\n\t\t\t<\/th>\n\t\t\t<th id=\"headerDate\" class=\"hidden column-mtime\">\n\t\t\t\t<a id=\"modified\" class=\"columntitle\" data-sort=\"mtime\"><span>Effac\u00e9<\/span><span class=\"sort-indicator\"><\/span><\/a>\n\t\t\t<\/th>\n\t\t<\/tr>\n\t<\/thead>\n\t<tbody id=\"fileList\">\n\t<\/tbody>\n\t<tfoot>\n\t<\/tfoot>\n<\/table>\n"
						}
					},
					"hiddenFields": []
				}
			]
		},
		{
			"file": "\/path\/to\/nextcloud\/lib\/private\/AppFramework\/Http\/Dispatcher.php",
			"line": 119,
			"function": "render",
			"class": "OCP\\AppFramework\\Http\\TemplateResponse",
			"type": "->",
			"args": []
		},
		{
			"file": "\/path\/to\/nextcloud\/lib\/private\/AppFramework\/App.php",
			"line": 118,
			"function": "dispatch",
			"class": "OC\\AppFramework\\Http\\Dispatcher",
			"type": "->",
			"args": [
				{"__class__": "OCA\\Files\\Controller\\ViewController"},
				"index"
			]
		},
		{
			"file": "\/path\/to\/nextcloud\/lib\/private\/AppFramework\/Routing\/RouteActionHandler.php",
			"line": 47,
			"function": "main",
			"class": "OC\\AppFramework\\App",
			"type": "::",
			"args": [
				"ViewController",
				"index",
				{"__class__": "OC\\AppFramework\\DependencyInjection\\DIContainer"},
				{"_route": "files.view.index"}
			]
		},
		{
			"function": "__invoke",
			"class": "OC\\AppFramework\\Routing\\RouteActionHandler",
			"type": "->",
			"args": [
				{"_route": "files.view.index"}
			]
		},
		{
			"file": "\/path\/to\/nextcloud\/lib\/private\/Route\/Router.php",
			"line": 297,
			"function": "call_user_func",
			"args": [
				{"__class__": "OC\\AppFramework\\Routing\\RouteActionHandler"},
				{"_route": "files.view.index"}
			]
		},
		{
			"file": "\/path\/to\/nextcloud\/lib\/base.php",
			"line": 987,
			"function": "match",
			"class": "OC\\Route\\Router",
			"type": "->",
			"args": [
				"\/apps\/files\/"
			]
		},
		{
			"file": "\/path\/to\/nextcloud\/index.php",
			"line": 42,
			"function": "handleRequest",
			"class": "OC",
			"type": "::",
			"args": []
		}
	],
	"file": "\/path\/to\/nextcloud\/apps\/groupfolders\/lib\/Folder\/FolderManager.php",
	"line": 43,
	"CustomMessage": "--"
}

Some links for convenience:

From what I can see, you use wrongly the FolderManager constructor in GroupFoldersService. I don't know if this is already fixed in master.

Cannot jump to file

If i click on a file inside the search-result view i get the following error message on the browsers debug console:

Uncaught TypeError: Cannot set property 'currentFile' of undefined
    at FullTextSearch.onEntrySelected (files.js?v=cdf36c83-11:266)
    at Object.onEntrySelected (fulltextsearch.v1.navigation.js?v=cdf36c83-11:277)
    at HTMLDivElement.<anonymous> (fulltextsearch.v1.navigation.js?v=cdf36c83-11:237)
    at HTMLDivElement.dispatch (jquery.js:4435)
    at HTMLDivElement._.handle (jquery.js:4121)

This only happens from the search popup (top right or Ctrl + F) but not if i use the full search interface (top left search icon).

  • App Version: 1.4.1
  • Nextcloud Version: 18

Errors during indexing-process

If I activate this app, I get a lot of the following errors during the indexing-process:

. Indexing: servername/foldername/problematic-file

[Elasticsearch\Common\Exceptions\BadRequest400Exception]
{"error":{"root_cause":[{"type":"illegal_argument_exception","reason":"pipeline with id [attachment] does not exist"}],"type":"illegal_argument_exception","reason":"pipeline with id [attachment] does not exist"}
,"status":400}

If this error occures, the indexing-process is stopped immediately. After the problematic-file has been deleted, the process does not stop until the next problematic-file is going to be indexed....

Public external storage not indexed

Steps to reproduce

  1. Add external storage (e.g. local filesystem, that's what I used)
  2. Assign external storage to nobody/available for everyone
  3. Index all files
  4. Search for anything inside that external storage

Expected behaviour

External storage has been indexed and everything inside can be found.

Actual behaviour

External storage has not been indexed and nothing can be found.

However assigning an external storage to myself (or any other user) will get it indexed fine and everything can be found as expected. (I did not check the behaviour when assigned to multiple users)

Server configuration detail

Operating system: Linux 5.0.0-23-generic #24-Ubuntu SMP Mon Jul 29 15:36:44 UTC 2019 x86_64

Webserver: nginx/1.15.9 (fpm-fcgi)

Database: mysql 10.3.17

PHP version:

7.3.8-1+ubuntu19.04.1+deb.sury.org+1
Modules loaded: Core, date, libxml, openssl, pcre, zlib, filter, hash, Reflection, SPL, sodium, session, standard, cgi-fcgi, mysqlnd, PDO, xml, apcu, bz2, calendar, ctype, curl, dom, mbstring, fileinfo, ftp, gd, gettext, iconv, igbinary, imagick, intl, json, exif, mysqli, pdo_mysql, apc, posix, readline, redis, shmop, SimpleXML, smbclient, sockets, sysvmsg, sysvsem, sysvshm, tokenizer, wddx, xmlreader, xmlwriter, xsl, zip, Phar, libsmbclient, Zend OPcache

Nextcloud version: 16.0.4 - 16.0.4.1

Updated from an older Nextcloud/ownCloud or fresh install: 16.0.3

Where did you install Nextcloud from: unknown

Signing status

Array
(
)

List of activated apps
Enabled:
 - accessibility: 1.2.0
 - activity: 2.9.1
 - apporder: 0.7.1
 - audioplayer: 2.7.2
 - audioplayer_editor: 0.0.1
 - bookmarks: 1.1.1
 - bruteforcesettings: 1.4.0
 - calendar: 1.7.0
 - camerarawpreviews: 0.7.0
 - checksum: 0.4.3
 - circles: 0.17.7
 - cloud_federation_api: 0.2.0
 - cms_pico: 0.9.8
 - comments: 1.6.0
 - contacts: 3.1.3
 - dav: 1.9.2
 - deck: 0.6.6
 - dicomviewer: 1.2.0
 - drawio: 0.9.3
 - external: 3.3.0
 - extract: 1.2.0
 - federatedfilesharing: 1.6.0
 - federation: 1.6.0
 - files: 1.11.0
 - files_accesscontrol: 1.6.0
 - files_automatedtagging: 1.6.0
 - files_downloadactivity: 1.5.0
 - files_external: 1.7.0
 - files_frommail: 0.3.0
 - files_fulltextsearch: 1.3.6
 - files_fulltextsearch_tesseract: 1.3.1
 - files_markdown: 2.0.6
 - files_pdfviewer: 1.5.0
 - files_readmemd: 1.1.1
 - files_retention: 1.5.1
 - files_rightclick: 0.13.0
 - files_sharing: 1.8.0
 - files_snapshots: 0.2.0
 - files_texteditor: 2.8.0
 - files_trashbin: 1.6.0
 - files_versions: 1.9.0
 - files_videoplayer: 1.5.0
 - firstrunwizard: 2.5.0
 - forms: 1.0.3
 - fulltextsearch: 1.3.6
 - fulltextsearch_elasticsearch: 1.3.6
 - gallery: 18.3.0
 - groupfolders: 4.0.5
 - groupquota: 0.1.0
 - impersonate: 1.3.0
 - issuetemplate: 0.5.0
 - keeweb: 0.5.1
 - logreader: 2.1.0
 - lookup_server_connector: 1.4.0
 - mail: 0.15.2
 - metadata: 0.9.0
 - news: 13.1.6
 - nextcloud_announcements: 1.5.0
 - notes: 3.0.1
 - notifications: 2.4.1
 - oauth2: 1.4.2
 - password_policy: 1.6.0
 - polls: 0.10.2
 - previewgenerator: 2.1.0
 - privacy: 1.0.0
 - provisioning_api: 1.6.0
 - quota_warning: 1.5.0
 - ransomware_detection: 0.5.2
 - ransomware_protection: 1.4.0
 - recommendations: 0.4.0
 - richdocuments: 3.3.15
 - serverinfo: 1.6.0
 - sharebymail: 1.6.0
 - sharerenamer: 2.6.1
 - smb_test: 0.2.2
 - social: 0.2.101
 - spreed: 6.0.4
 - support: 1.0.0
 - survey_client: 1.4.0
 - suspicious_login: 1.0.0
 - systemtags: 1.6.0
 - tasks: 0.11.1
 - text: 1.0.2
 - theming: 1.7.0
 - twofactor_backupcodes: 1.5.0
 - updatenotification: 1.6.0
 - uploaddetails: 0.1.0
 - viewer: 1.1.0
 - workflow_pdf_converter: 1.1.0
 - workflow_script: 1.1.0
 - workflowengine: 1.6.0
Disabled:
 - admin_audit
 - encryption
 - terms_of_service
 - user_ldap

Configuration (config/config.php)
{
    "instanceid": "***REMOVED SENSITIVE VALUE***",
    "passwordsalt": "***REMOVED SENSITIVE VALUE***",
    "secret": "***REMOVED SENSITIVE VALUE***",
    "trusted_domains": [
        "xn--kevin-kck-67a.de"
    ],
    "datadirectory": "***REMOVED SENSITIVE VALUE***",
    "dbtype": "mysql",
    "version": "16.0.4.1",
    "overwrite.cli.url": "https:\/\/xn--kevin-kck-67a.de",
    "dbname": "***REMOVED SENSITIVE VALUE***",
    "dbhost": "***REMOVED SENSITIVE VALUE***",
    "dbport": "",
    "dbtableprefix": "oc_",
    "mysql.utf8mb4": true,
    "dbuser": "***REMOVED SENSITIVE VALUE***",
    "dbpassword": "***REMOVED SENSITIVE VALUE***",
    "installed": true,
    "has_rebuilt_cache": true,
    "mail_smtpmode": "smtp",
    "mail_smtpsecure": "tls",
    "mail_sendmailmode": "smtp",
    "mail_from_address": "***REMOVED SENSITIVE VALUE***",
    "mail_domain": "***REMOVED SENSITIVE VALUE***",
    "mail_smtpauthtype": "LOGIN",
    "mail_smtphost": "***REMOVED SENSITIVE VALUE***",
    "mail_smtpport": "25",
    "mail_smtpauth": 1,
    "mail_smtpname": "***REMOVED SENSITIVE VALUE***",
    "mail_smtppassword": "***REMOVED SENSITIVE VALUE***",
    "memcache.local": "\\OC\\Memcache\\APCu",
    "memcache.locking": "\\OC\\Memcache\\Redis",
    "memcache.distributed": "\\OC\\Memcache\\Redis",
    "redis": {
        "host": "***REMOVED SENSITIVE VALUE***",
        "port": 0,
        "dbindex": 0,
        "timeout": 1.5
    },
    "maintenance": false,
    "theme": "",
    "loglevel": 2
}

Are you using external storage, if yes which one: local

Are you using encryption: false

Are you using an external user-backend, if yes which one:

Client configuration

Browser: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:68.0) Gecko/20100101 Firefox/68.0

Operating system:

Logs

Web server error log
Insert your web server log here 
Nextcloud log
Insert your Nextcloud log here
Browser log

Insert your browser log here, this could for example include:

a) The javascript console log
b) The network log
c) ...

Result count wrong or result doesn't show up

Steps to reproduce

I search for "node_modules" in my nextcloud and the resultpage shows 7692 results but only displays about 20.
(I recently upgraded to 18.0.1 from 17.0.3 - probably a reindex necessary?)

Screenshot 2020-02-24 at 15 42 53

Expected behaviour

Either the results should be displayed or correctly counted.

Actual behaviour

Result count and displayed items count mismatch.

Server configuration detail

Operating system: Linux 4.15.0-88-generic #88-Ubuntu SMP Tue Feb 11 20:11:34 UTC 2020 x86_64

Webserver: Apache (fpm-fcgi)

Database: pgsql PostgreSQL 10.12 (Ubuntu 10.12-0ubuntu0.18.04.1) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0, 64-bit

PHP version:

7.2.24-0ubuntu0.18.04.3
Modules loaded: Core, date, libxml, openssl, pcre, zlib, filter, hash, Reflection, SPL, sodium, session, standard, cgi-fcgi, json, igbinary, apcu, PDO, xml, bz2, calendar, ctype, curl, dom, mbstring, fileinfo, ftp, gd, gettext, gmp, iconv, imap, intl, redis, ldap, exif, pdo_pgsql, pgsql, Phar, posix, readline, shmop, SimpleXML, smbclient, soap, sockets, sysvmsg, sysvsem, sysvshm, tokenizer, wddx, xmlreader, xmlwriter, xsl, zip, libsmbclient, Zend OPcache

Nextcloud version: 18.0.1 - 18.0.1.3

Updated from an older Nextcloud/ownCloud or fresh install:
Updated from 17.0.3 recently.

Where did you install Nextcloud from:

List of activated apps
Enabled:
 - accessibility: 1.4.0
 - activity: 2.11.0
 - admin_audit: 1.8.0
 - calendar: 2.0.1
 - cloud_federation_api: 1.1.0
 - comments: 1.8.0
 - contacts: 3.1.8
 - dav: 1.14.0
 - deck: 0.8.0
 - documentserver_community: 0.1.5
 - extract: 1.2.3
 - federatedfilesharing: 1.8.0
 - federation: 1.8.0
 - files: 1.13.1
 - files_antivirus: 2.2.1
 - files_fulltextsearch: 1.4.1
 - files_pdfviewer: 1.7.0
 - files_reader: 1.2.3
 - files_rightclick: 0.15.2
 - files_sharing: 1.10.1
 - files_trashbin: 1.8.0
 - files_versions: 1.11.0
 - files_videoplayer: 1.7.0
 - firstrunwizard: 2.7.0
 - fulltextsearch: 1.4.1
 - fulltextsearch_elasticsearch: 1.5.0
 - issuetemplate: 0.6.0
 - logreader: 2.3.0
 - lookup_server_connector: 1.6.0
 - mail: 1.1.2
 - news: 14.1.3
 - nextcloud_announcements: 1.7.0
 - notifications: 2.6.0
 - oauth2: 1.6.0
 - onlyoffice: 4.1.4
 - password_policy: 1.8.0
 - photos: 1.0.0
 - previewgenerator: 2.2.0
 - privacy: 1.2.0
 - provisioning_api: 1.8.0
 - recommendations: 0.6.0
 - serverinfo: 1.8.0
 - settings: 1.0.0
 - sharebymail: 1.8.0
 - spreed: 8.0.4
 - support: 1.1.0
 - survey_client: 1.6.0
 - systemtags: 1.8.0
 - tasks: 0.11.3
 - text: 2.0.0
 - theming: 1.9.0
 - twofactor_backupcodes: 1.7.0
 - twofactor_totp: 4.1.2
 - updatenotification: 1.8.0
 - viewer: 1.2.0
 - workflowengine: 2.0.0
Disabled:
 - encryption
 - files_external
 - files_mindmap
 - notes
 - user_ldap

Client configuration

Browser: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.116 Safari/537.36

OnlyOffice and Collabora Integration not working when enabling Full text search - Files

Versions: NC 18.0.0.10, Collabora Online 3.5.1, OnlyOffice Integration App 4.1.1., Full text search - Files 1.4.0.
Issue: When enabling Full text search - Files, both integration apps (onlyoffice and collabora) stop working. Context menu integration is not working anymore then, even so "New" Menu lost all entries for those documents. Documents can not be opend with Onlyoffice or Collabora anymore, instead a download dialog is presented.
As soon as you didable Full text search - Files, everything is working again.

0.7 does not index shared folders

Just noticed that after the update there were no results from shared folders. I think this worked before.

Server configuration detail

Operating system: Linux 4.8.8-040808-generic #201611150231 SMP Tue Nov 15 07:33:21 UTC 2016 x86_64

Webserver: Apache (fpm-fcgi)

Database: mysql 5.7.22

PHP version: 7.1.16
Modules loaded: Core, date, libxml, openssl, pcre, zlib, bz2, calendar, ctype, hash, filter, ftp, gettext, gmp, SPL, iconv, Reflection, session, standard, SimpleXML, sockets, mbstring, tokenizer, xml, cgi-fcgi, mysqlnd, bcmath, curl, dba, dom, enchant, fileinfo, gd, imagick, imap, intl, json, ldap, exif, mcrypt, mysqli, odbc, PDO, pdo_mysql, PDO_ODBC, pdo_pgsql, pdo_sqlite, pgsql, Phar, posix, pspell, redis, soap, sqlite3, sysvmsg, sysvsem, sysvshm, tidy, xmlreader, xmlrpc, xmlwriter, xsl, zip, ionCube Loader, Zend OPcache

Nextcloud version: 13.0.2 - 13.0.2.1

Updated from an older Nextcloud/ownCloud or fresh install:

Where did you install Nextcloud from: unknown

Signing status

Array

List of activated apps
Enabled:
 - activity: 2.6.1
 - admin_audit: 1.3.0
 - announcementcenter: 3.2.1
 - bruteforcesettings: 1.0.3
 - calendar: 1.6.1
 - camerarawpreviews: 0.5.2
 - caniupdate: 0.1.2
 - checksum: 0.4.0
 - circles: 0.13.6
 - comments: 1.3.0
 - contacts: 2.1.3
 - dav: 1.4.6
 - external: 3.0.3
 - federatedfilesharing: 1.3.1
 - federation: 1.3.0
 - files: 1.8.0
 - files_accesscontrol: 1.3.0
 - files_automatedtagging: 1.3.0
 - files_downloadactivity: 1.2.0
 - files_external: 1.4.1
 - files_fulltextsearch: 0.7.0
 - files_pdfviewer: 1.2.1
 - files_rightclick: 0.8.4
 - files_sharing: 1.5.0
 - files_texteditor: 2.5.1
 - files_trashbin: 1.3.0
 - files_versions: 1.6.0
 - files_videoplayer: 1.2.0
 - firstrunwizard: 2.2.1
 - fulltextsearch: 0.7.0
 - fulltextsearch_elasticsearch: 0.7.0
 - gallery: 18.0.0
 - impersonate: 1.0.4
 - issuetemplate: 0.3.0
 - logreader: 2.0.0
 - lookup_server_connector: 1.1.0
 - mail: 0.8.1
 - metadata: 0.6.0
 - mindmaps: 0.1.0
 - mood: 0.3.3
 - news: 12.0.1
 - nextcloud_announcements: 1.2.0
 - notes: 2.3.2
 - notifications: 2.1.2
 - oauth2: 1.1.0
 - password_policy: 1.3.0
 - polls: 0.8.1
 - provisioning_api: 1.3.0
 - quota_warning: 1.2.0
 - ransomware_protection: 1.1.0
 - richdocuments: 2.0.8
 - serverinfo: 1.3.0
 - sharebymail: 1.3.0
 - spreed: 3.2.1
 - survey_client: 1.1.0
 - systemtags: 1.3.0
 - tasks: 0.9.6
 - theming: 1.4.1
 - twofactor_backupcodes: 1.2.3
 - updatenotification: 1.3.0
 - user_external: 0.4
 - user_usage_report: 1.0.1
 - workflowengine: 1.3.0
Disabled:
 - encryption
 - keeweb
 - ojsxc
 - passwords
 - user_ldap

Configuration (config/config.php)
{
    "instanceid": "***REMOVED SENSITIVE VALUE***",
    "passwordsalt": "***REMOVED SENSITIVE VALUE***",
    "secret": "***REMOVED SENSITIVE VALUE***",
    "trusted_domains": [
        "files.freiebaptisten.de"
    ],
    "datadirectory": "***REMOVED SENSITIVE VALUE***",
    "overwrite.cli.url": "https:\/\/files.freiebaptisten.de",
    "dbtype": "mysql",
    "version": "13.0.2.1",
    "dbname": "***REMOVED SENSITIVE VALUE***",
    "dbhost": "***REMOVED SENSITIVE VALUE***",
    "dbtableprefix": "oc_",
    "dbuser": "***REMOVED SENSITIVE VALUE***",
    "dbpassword": "***REMOVED SENSITIVE VALUE***",
    "logtimezone": "Europe\/Berlin",
    "installed": true,
    "filelocking.enabled": "true",
    "memcache.local": "\\OC\\Memcache\\Redis",
    "memcache.distributed": "\\OC\\Memcache\\Redis",
    "memcache.locking": "\\OC\\Memcache\\Redis",
    "redis": {
        "host": "***REMOVED SENSITIVE VALUE***",
        "port": 6379,
        "timeout": 0
    },
    "appstore.experimental.enabled": true,
    "maintenance": false,
    "theme": "",
    "loglevel": 2,
    "log_rotation_size": 10485760,
    "ldapIgnoreNamingRules": false,
    "default_language": "de",
    "defaultapp": "files",
    "remember_login_cookie_lifetime": 1296000,
    "trashbin_retention_obligation": "auto",
    "mail_from_address": "***REMOVED SENSITIVE VALUE***",
    "mail_smtpmode": "php",
    "mail_smtpauthtype": "LOGIN",
    "mail_domain": "***REMOVED SENSITIVE VALUE***"
}

Are you using external storage, if yes which one: local/smb/sftp/...

Are you using encryption: no

Are you using an external user-backend, if yes which one: LDAP/ActiveDirectory/Webdav/...

TypeError: Return value of OCA\FullTextSearch\Model\SearchRequest::getProviders() must be of the type array, null returned in /var/www/nextcloud/apps/fulltextsearch/lib/Model/SearchRequest.php:114

On executing fulltextsearch:test:


.Testing your current setup:  
Creating mocked content provider. ok  
Testing mocked provider: get indexable documents. (2 items) ok  
Loading search platform. (Elasticsearch) ok  
Testing search platform. ok  
Locking process ok  
Removing test. ok  
Pausing 3 seconds 1 2 3 ok  
Initializing index mapping. ok  
Indexing generated documents. ok  
Pausing 3 seconds 1 2 3 ok  
Retreiving content from a big index (license). (size: 32386) ok  
Comparing document with source. ok  
Searching basic keywords:  
 - 'test' An unhandled exception has been thrown:
TypeError: Return value of OCA\FullTextSearch\Model\SearchRequest::getProviders() must be of the type array, null returned in /var/www/nextcloud/apps/fulltextsearch/lib/Model/SearchRequest.php:114
Stack trace:
#0 /var/www/nextcloud/apps/fulltextsearch/lib/Model/SearchRequest.php(700): OCA\FullTextSearch\Model\SearchRequest->getProviders()
#1 [internal function]: OCA\FullTextSearch\Model\SearchRequest->jsonSerialize()
#2 /var/www/nextcloud/apps/fulltextsearch_elasticsearch/lib/Service/SearchService.php(103): json_encode(Object(OCA\FullTextSearch\Model\SearchRequest))
#3 /var/www/nextcloud/apps/fulltextsearch_elasticsearch/lib/Platform/ElasticSearchPlatform.php(336): OCA\FullTextSearch_ElasticSearch\Service\SearchService->searchRequest(Object(Elasticsearch\Client), Object(OCA\FullTextSearch\Model\SearchResult), Object(OC\FullTextSearch\Model\DocumentAccess))
#4 /var/www/nextcloud/apps/fulltextsearch/lib/Command/Test.php(584): OCA\FullTextSearch_ElasticSearch\Platform\ElasticSearchPlatform->searchRequest(Object(OCA\FullTextSearch\Model\SearchResult), Object(OC\FullTextSearch\Model\DocumentAccess))
#5 /var/www/nextcloud/apps/fulltextsearch/lib/Command/Test.php(436): OCA\FullTextSearch\Command\Test->search(Object(Symfony\Component\Console\Output\ConsoleOutput), Object(OCA\FullTextSearch_ElasticSearch\Platform\ElasticSearchPlatform), Object(OCA\FullTextSearch\Provider\TestProvider), Object(OC\FullTextSearch\Model\DocumentAccess), 'test', Array)
#6 /var/www/nextcloud/apps/fulltextsearch/lib/Command/Test.php(171): OCA\FullTextSearch\Command\Test->testSearchSimple(Object(Symfony\Component\Console\Output\ConsoleOutput), Object(OCA\FullTextSearch_ElasticSearch\Platform\ElasticSearchPlatform), Object(OCA\FullTextSearch\Provider\TestProvider))
#7 /var/www/nextcloud/3rdparty/symfony/console/Command/Command.php(255): OCA\FullTextSearch\Command\Test->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#8 /var/www/nextcloud/core/Command/Base.php(168): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#9 /var/www/nextcloud/3rdparty/symfony/console/Application.php(915): OC\Core\Command\Base->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#10 /var/www/nextcloud/3rdparty/symfony/console/Application.php(272): Symfony\Component\Console\Application->doRunCommand(Object(OCA\FullTextSearch\Command\Test), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#11 /var/www/nextcloud/3rdparty/symfony/console/Application.php(148): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#12 /var/www/nextcloud/lib/private/Console/Application.php(214): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#13 /var/www/nextcloud/console.php(99): OC\Console\Application->run()
#14 /var/www/nextcloud/occ(11): require_once('/var/www/nextcl...')
#15 {main}

TypeError: Argument 1 passed to OCA\Files_FullTextSearch\Model\MountPoint::setId() must be of the type integer

Running:
Nextcloud 15.0.0
Elastic Search 6.5.3 with Elasticsearch Plugin (free)

Plugins Installed:
Full text search 1.2.1
Full text search - Elasticsearch Platform 1.2.1
Full text search - Files 1.2.1

Config:
Outcome of "occ fulltextsearch:check"

Fulltext search 1.2.1

  • Search Platform:
    Elasticsearch 1.2.1
    {
    "elastic_host": [
    "http://nextcloud:********@localhost:9200"
    ],
    "elastic_index": "my_index"
    }

  • Content Providers:
    Files 1.2.1
    {
    "files_local": "1",
    "files_external": "0",
    "files_group_folders": "1",
    "files_encrypted": "0",
    "files_federated": "0",
    "files_size": "20",
    "files_pdf": "1",
    "files_office": "1",
    "files_image": "0",
    "files_audio": "0"
    }

Problem:
The following error comes up when attempting to "occ fulltextsearch:index":

An unhandled exception has been thrown:
TypeError: Argument 1 passed to OCA\Files_FullTextSearch\Model\MountPoint::setId() must be of the type integer, string given, called in /var/www/nextcloud/apps/files_fulltextsearch/lib/Service/GroupFoldersService.php on line 220 and defined in /var/www/nextcloud/apps/files_fulltextsearch/lib/Model/MountPoint.php:70
Stack trace:
#0 /var/www/nextcloud/apps/files_fulltextsearch/lib/Service/GroupFoldersService.php(220): OCA\Files_FullTextSearch\Model\MountPoint->setId('1')
#1 /var/www/nextcloud/apps/files_fulltextsearch/lib/Service/GroupFoldersService.php(123): OCA\Files_FullTextSearch\Service\GroupFoldersService->getMountPoints('a.bott')
#2 /var/www/nextcloud/apps/files_fulltextsearch/lib/Service/FilesService.php(211): OCA\Files_FullTextSearch\Service\GroupFoldersService->initGroupSharesForUser('a.bott')
#3 /var/www/nextcloud/apps/files_fulltextsearch/lib/Service/FilesService.php(181): OCA\Files_FullTextSearch\Service\FilesService->initFileSystems('a.bott')
#4 /var/www/nextcloud/apps/files_fulltextsearch/lib/Provider/FilesProvider.php(228): OCA\Files_FullTextSearch\Service\FilesService->getFilesFromUser('a.bott', Object(OCA\FullTextSearch\Model\IndexOptions))
#5 /var/www/nextcloud/apps/fulltextsearch/lib/Service/IndexService.php(179): OCA\Files_FullTextSearch\Provider\FilesProvider->generateIndexableDocuments('a.bott')
#6 /var/www/nextcloud/apps/fulltextsearch/lib/Command/Index.php(407): OCA\FullTextSearch\Service\IndexService->indexProviderContentFromUser(Object(OCA\FullTextSearch_ElasticSearch\Platform\ElasticSearchPlatform), Object(OCA\Files_FullTextSearch\Provider\FilesProvider), 'a.bott', Object(OCA\FullTextSearch\Model\IndexOptions))
#7 /var/www/nextcloud/apps/fulltextsearch/lib/Command/Index.php(271): OCA\FullTextSearch\Command\Index->indexProvider(Object(OCA\Files_FullTextSearch\Provider\FilesProvider), Object(OCA\FullTextSearch\Model\IndexOptions))
#8 /var/www/nextcloud/3rdparty/symfony/console/Command/Command.php(255): OCA\FullTextSearch\Command\Index->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#9 /var/www/nextcloud/core/Command/Base.php(166): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#10 /var/www/nextcloud/3rdparty/symfony/console/Application.php(946): OC\Core\Command\Base->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#11 /var/www/nextcloud/3rdparty/symfony/console/Application.php(248): Symfony\Component\Console\Application->doRunCommand(Object(OCA\FullTextSearch\Command\Index), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#12 /var/www/nextcloud/3rdparty/symfony/console/Application.php(148): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#13 /var/www/nextcloud/lib/private/Console/Application.php(213): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#14 /var/www/nextcloud/console.php(96): OC\Console\Application->run()
#15 /var/www/nextcloud/occ(11): require_once('/var/www/nextcl...')

#22
#25
#28

UI broken

When opening the search dialogue the field "Filter by extension" is filled with the entry "txt" but a search nevertheless returns files with other extensions, for example "pdf". However when clicking into the data entry field and entering "txt" it no longer returns files with extension "pdf".

It looks like the initial "txt" is just there to suggest to the user what he might enter and only after entering a value this value really is used.

However, there is no visual attribute which distinguishes these two cases.

Therefore, the situation is very confusing, since the user has no real chance to know which data are really used.

Index files other than text/document files

Hi.

I'm far from grasping the complexity of ES and the NC's fulltextsearch suite, but: I thought that the Ingest Attachment Processor Plugin that we add to ElasticSearch aims at indexing virtually any known type of file, thanks to Apache Tika that knows how to parse hundreds and hundreds of file types.

Despite that, it seems to me like files_fulltextsearch provides ES with the content of files only when they match the following types: Text, Office, PDF.

And indeed, I've installed and configured files_fulltextsearch on a local NextCloud instance for tests purposes, and I don't seem to be able to search within the content of ZIP files, Image files, etc. Although Tika knows these file types.

Isn't it possible to just send all file contents to ES so it indexes as many file types as it can?

Thx.

Ability to download from search results is now missing

NC 18.0.1
Ubuntu 18.04
Full text search 1.4.1
Full text search - Elasticsearch Platform 1.5.0
Full text search - Files 1.4.1
Full text search - Files - Tesseract OCR 1.4.0

On the search results page, we used to be able to click on the three dot menu and have a download option. Now, it only allows "Go to Folder".

Due to a number of these folders have over 100k documents, this is not usable. Why was this feature removed?

Search for file comments/metadata

Is it possible to search for file comments? It would be a welcomed feature to search for stored 'metadata' in comments or EXIF-attributes like descriptions for photos.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.