Home » Changelog » 🔎 PostgreSQL full-text search for djangopackages

🔎 PostgreSQL full-text search for djangopackages

March 7, 2026

We recently introduced PostgreSQL full-text search to power the global search on djangopackages.org. This update improves how packages and grids are discovered across the site. You can see the full implementation in the pull request: #1542

What changed in search

  • More relevant results: Search now ranks results by both text relevance and package health. Matches in titles and slugs are prioritized.
  • Partial and fuzzy matching: If you only remember part of a package name, or make a small typo, there’s still a good chance the right result will show up.
  • Better search suggestions: Typing into the global search should now feel more helpful when narrowing down packages or grids.
  • Find packages you contributed to: Typing your GitHub username will now show packages you’ve contributed to, making it easier to find your work.

A little about how we rolled it out

To introduce the change safely, we added a new search table and a feature flag that allows switching between the previous search and the new implementation. This gave us flexibility to test this feature in production and ensure it was working as expected before fully switching over. After monitoring the new search for a few weeks and confirming it was performing well, we removed the old search code and made the new full-text search the default.

A quick thank you

Thanks to pauloxnet and jefftriplett for taking the time to review the changes and share helpful feedback. Their input helped shape the final version before it was merged.

Try it and tell us

Give the global search a try and see how it feels. If something looks off or results could be improved, please open an issue on GitHub, feedback helps us keep improving the experience.