Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement Algolia search #328

Closed
chrismclarke opened this issue Feb 21, 2019 · 10 comments
Closed

Implement Algolia search #328

chrismclarke opened this issue Feb 21, 2019 · 10 comments
Labels
Backend Priority: Low Wontfix This will not be worked on

Comments

@chrismclarke
Copy link
Member

Following discussion #210 the suggestion is to try out Algolia search. It would make sense to first try with one of the database endpoints like howTos (/documentation), populating data to algolia through cloud functions on database updates and implementing the search API.

If anyone wants to take this on I'd be happy to set up required API tokens etc for Algolia.

Code sample here:

https://firebase.google.com/docs/firestore/solutions/search

(note to self/future ref, free community plan fine for dev but as we move to production may want to explore openSource project discount)

@chrismclarke
Copy link
Member Author

chrismclarke commented Feb 21, 2019

Dev server keys created and included in src/config. Production keys will be generated at a later date (requires alternate email account, to be created), and passed through environment to backend and frontend code.

Algolia dev account login: [email protected], pw: z7j28DsPcXRT9cr

@chrismclarke
Copy link
Member Author

The problem with elasticsearch is it requires a cluster of host machines, so even with a minimal server setup that'll probably run at around $50 per month. Then take into account that our usage might fit entirely within their free tier, particularly as their free open source plan includes 100k records and 200k operations ($70 equiv value) which we can apply for.

It's hard to know exactly what the usage will be, I haven't even thought about running numbers but I think it makes sense to start with and see

@chrismclarke
Copy link
Member Author

Yeah, I think at some point I really need to build a systems/architecture diagram because I can see how it would be confusing. It doesn't help that firebase is a term for a family of different products (so not just the database used), and sits on both front and back ends in different formats. I'll add an issue to try and address this at some point in the future (although will likely be a couple weeks until I have the time)

@chrismclarke
Copy link
Member Author

Note, current account will expire if requests not made shortly (no biggie as can just create a new one and change ci variables, but if sending a single demo request is easy probably worth doing)

@BenGamma BenGamma added Backlog Wontfix This will not be worked on and removed Good first issue labels Apr 18, 2019
@BenGamma
Copy link
Contributor

Closing for now, will repopen when needed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Backend Priority: Low Wontfix This will not be worked on
Projects
None yet
Development

No branches or pull requests

3 participants
@BenGamma @chrismclarke and others