Open Redd87 opened 1 week ago
To implement the search feature, which would be used for searching for a specific association through its name, keywords or tags relating to it, I considered multiple options:
Firebase + Algolia Free tier This provides Full Text Search and even some AI capabilities, but runs on the server and is limited to 10k requests for the free tier
Firebase + TypeSense Open Source hosted on an AWS server's free tier This takes away the limitation of the previous solution, but is harder to implement and is only free for 12 months, after which we need to pay for the AWS server
Client-side search Either using our own search logic or using a third-party library. This requires the user to download the required data to be searched upon but seems to be doable with Firebase's offline capabilities. I still need to do more research to find out what the best way of implementing this is.
I would like to hear the team's feedback on this
To me, Algolia seems to be the best option. 10k per month is 333 requests per day, which is enough for now however it won't be if the project scales. I don't think Client-side search is any goood, it requires to download everything locally which might cause issues with unstable connections.
Also, consider using android's AppSearch if you consider implementing client-side search.
See this.