nextcloud / nextcloud/fulltextsearch

Indexing shared files NC 13.0.8

Open
#414 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
PHP
Stars
234
Forks
64
Avg merge
6h 18m
Merged PRs (30d)
10

Description

Hi,

I have two installations of NextCloud and both have same issues, they are not related to each other.

Issue

Users get correct results for files they own if the file is not shared.
If the user share the file, he won't be able to find it anymore by the text inside, only by the name of the file.
Files shared with a user by another user or a group are findable only by their name not the text inside.

It seems to be like this issue #295

NextCloud installation 1 :

This NextCloud use LDAP for users.
ElasticSearch is on a distant server.

ElasticSearch of distant server is in version 6.5.0.
Php version is 7.0.32

ScreenFetch
root@nextcloud-master:/var/www/html/nextcloud# screenfetch
                          ./+o+-       root@nextcloud-master
                  yyyyy- -yyyyyy+      OS: Ubuntu 16.04 xenial
               ://+//////-yyyyyyo      Kernel: x86_64 Linux 4.4.0-87-generic
           .++ .:/++++++/-.+sss/`      Uptime: 107d 21h 40m
         .:++o:  /++++++++/:--:/-      Packages: 694
        o:+o+:++.`..```.-/oo+++++/     Shell: bash 4.3.48
       .:+o:+o/.          `+sssoo+/    CPU: Intel Xeon CPU X5680 @ 3.325GHz
  .++/+:+oo+o:`             /sssooo.   RAM: 904MiB / 8199MiB
 /+++//+:`oo+o               /::--:.
 \+/+o+++`o++o               ++////.
  .++.o+++oo+:`             /dddhhh.
       .+.o+oo:.          `oddhhhh+
        \+.++o+o``-````.:ohdhhhhh+
         `:o+++ `ohhhhhhhhyo++os:
           .o:`.syhhhhhhh/.oo++o`
               /osyyyyyyo++ooo+++/
                   ````` +oo+++o\:
                          `oo++.
occ full:check
root@nextcloud-master:/var/www/html/nextcloud# sudo -u www-data php ./occ full:check
Full text search 1.0.3

- Search Platform:
Elasticsearch 1.0.2
{
    "elastic_host": [
        "http:\/\/es_user:********@192.168.240.20:9200"
    ],
    "elastic_index": "nextcloud_indexes"
}

- Content Providers:
Files 1.0.4
{
    "files_local": "1",
    "files_external": "1",
    "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"
}
occ status
root@nextcloud-master:/var/www/html/nextcloud# sudo -u www-data php ./occ status
  - installed: true
  - version: 13.0.8.2
  - versionstring: 13.0.8
  - edition:
NextCloud installation 2 :

This is a NextCloud for testing, users are locals and ElasticSearch is local too.

ElasticSearch of distant server is in version 6.5.0.
Php version is 7.0.32

ScreenFetch
root@NextCloudDev:/var/www/nextcloud# screenfetch
                          ./+o+-       root@NextCloudDev
                  yyyyy- -yyyyyy+      OS: Ubuntu 16.04 xenial
               ://+//////-yyyyyyo      Kernel: x86_64 Linux 4.4.0-138-generic
           .++ .:/++++++/-.+sss/`      Uptime: 17d 2m
         .:++o:  /++++++++/:--:/-      Packages: 670
        o:+o+:++.`..```.-/oo+++++/     Shell: bash 4.3.48
       .:+o:+o/.          `+sssoo+/    CPU: Intel Xeon CPU X5680 @ 3.325GHz
  .++/+:+oo+o:`             /sssooo.   RAM: 1820MiB / 3951MiB
 /+++//+:`oo+o               /::--:.
 \+/+o+++`o++o               ++////.
  .++.o+++oo+:`             /dddhhh.
       .+.o+oo:.          `oddhhhh+
        \+.++o+o``-````.:ohdhhhhh+
         `:o+++ `ohhhhhhhhyo++os:
           .o:`.syhhhhhhh/.oo++o`
               /osyyyyyyo++ooo+++/
                   ````` +oo+++o\:
                          `oo++.
occ full:check
root@NextCloudDev:/var/www/nextcloud# sudo -u www-data php ./occ full:check
Full text search 1.0.3

- Search Platform:
Elasticsearch 1.0.2
{
    "elastic_host": [
        "http:\/\/es_user:********@localhost:9200"
    ],
    "elastic_index": "nextcloud_indexes"
}

- Content Providers:
Files 1.0.4
{
    "files_local": "1",
    "files_external": "1",
    "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"
}

occ status
root@NextCloudDev:/var/www/nextcloud# sudo -u www-data php ./occ status
  - installed: true
  - version: 13.0.7.2
  - versionstring: 13.0.7
  - edition:
Operations done on both Nextclouds

I already tried to :

occ fulltextsearch:stop
occ fulltextsearch:reset
occ fulltextsearch:index

Tried that 2 or 3 times, got no errors.

Operation done on Nextcloud 2

I updated NextCloud to version 14.0.4.
I had to re-install the provider (Full text search - Files), NextCloud said it was too old so I clicked on 'Delete' then 'Download & Activate'.
Reset FullTextSearch then re-indexed all files.
With NextCloud 14.0.4 everything seems to work fine, at least the issue here is solved but I need it working in 13.0.x because I can't install NextCloud stable for production in an enterprise, I'll have to wait for the version 14.x.x to be in production mode before that... ^^

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the shared-file indexing behavior on Nextcloud 13.0.x with Full text search 1.0.3, Files 1.0.4, and Elasticsearch 6.5.0. Run occ full:check, then compare occ fulltextsearch:reset and occ fulltextsearch:index results with the reported working behavior on 14.0.4. Done means shared files are searchable by their text, not only by filename.

Written by the indexing model from the issue text.

Assessment

Tech stack
elasticsearch, php
Domain
backend, search
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.