mirror of
https://github.com/plankanban/planka.git
synced 2026-02-24 19:08:59 +03:00
PR proposal: Enhanced Global Search (Fuzzy Matching, Ranking, Comments) #894
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @renantmagalhaes on GitHub (Jan 8, 2026).
Proposal: Enhanced Global Search (Fuzzy Matching, Ranking, Comments)
Hi Planka Team,
I've been working on improving the global search functionality to make it more robust and user-friendly. As per the contributing guidelines, I wanted to share my approach and get your feedback before submitting a Pull Request.
The Problem
Currently, the search functionality has a few limitations:
Proposed Solution
I have implemented a solution locally that enhances the existing search with the following features:
fuse.json the backend to handle typos and near-matches....context of the match...) to help users identify the right card.Technical Approach
fuse.jsto index accessible Projects, Boards, Cards (and their comments) in-memory during the request.score, ensuring the most relevant item is always at the top.I believe these changes significantly improve the findability and UX. I would love to hear your thoughts on this approach and if you would be open to a PR!
Thanks!
The commit on my forked project:
4948d86ab1@meltyshev commented on GitHub (Jan 12, 2026):
Hey! Thanks for taking the time to make the proposal 🙏
I've reviewed the fork, and unfortunately we won't be able to merge it.
This approach might work for a small self-hosted setup, but in real production use it would lead to serious performance and memory issues. Fetching all cards and comments into memory (which can grow without limit) and running the search in the Node.js process doesn't scale. Since we're planning a SaaS version and some teams already have a large amount of data, we can't ship an implementation that would introduce these issues.
@renantmagalhaes commented on GitHub (Jan 12, 2026):
Hey @meltyshev
That makes total sense! I completely agree that for SaaS or large-scale enterprise setups, the memory overhead of an in-memory search would be a bottleneck.
However, I still believe enhanced search is vital (9ironically, the larger the dataset, the more users rely on robust search and fuzzy matching to find what they need). Moving forward, transitioning to a database-level solution using PostgreSQL’s tsvector or tsquery would be the right path to balance performance with findability.
Thanks for the feedback! I’m currently pivoting to a feature for my instance to view links as cards. It's still in the early stages, but I’ll be sure to reach out with a proposal before submitting the PR next time.