nextcloud / nextcloud/server

Unified search - search in current app by default

Open
#24,056 24 comments 8 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

1. to develop design enhancement feature: search good first issue performance 🚀
Dominant language
PHP
Stars
36.9k
Forks
5.2k
Avg merge
2d 3h
Merged PRs (30d)
713

Description

As covered in #23835, searching for files may take a very long time, making file search quite unusable. But it also has the side effect, that searching for something else will create collateral damage by overwhelming the database with unnecessary, very expensive queries, which stack up with every new keystroke. While the tests in #23835 where performed with my test user, who has 4 shares to a very big storage, other users have an average of 25 shares, with 55 shares max. If that user types 5 keys in the search box, he will trigger 4x55 queries running 1.2s each...

As a quick fix, I removed SearchProvider registration for the files app.

Each search provider should be configurable (at least enable/disable systemwide)

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 reviewing the SearchProvider registration mentioned in the issue and the performance findings in #23835. Trace how search providers are selected for a query, then define the configuration path needed to enable or disable each provider systemwide and prefer the current app; done means those settings work without triggering unnecessary providers.

Written by the indexing model from the issue text.

Assessment

Tech stack
php
Domain
backend, search
Issue type
Feature
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.