This is a more technical blog post about how Birdfeeder is able to instantly search through thousands of bookmarks to find precisely the Tweet you are looking for.
Birdfeeder stores a lot of Tweets in a relational database, in our case that's Postgres hosted on DigitalOcean.
This works well and can be queried efficiently. Postgres supports full-text search over large sets of data out of the box. If you are looking to add full-text search capabilities to your project and you already use Postgres that should be your first stop. There's a great introduction on using Postgres for that use case by crunchydata. The smart people of pganalyze published a good blog post about which postgres feature is best for which use case too.
For the Birdfeeder Twitter Bookmark Search we decided on using a new project called meilisearch. You could call it a simpler and more lightweight Elasticsearch, or an open-source Algolia. The reason for choosing Meilisearch were:
The last point should not be underestimated in this case.
If you are curious how it works, sign in and give it a try after clicking "Bookmark Search" in the navigation. Let us know what you think!