Report
How I Built A Craft Beer Search Engine For Free
Talks about engineering decisions and thought processes of creating Burplist, a fast and simple search engine for craft beers in Singapore.
jerrynsh.com
@jerrynsh Cool!
I dropped you a line via email to ask a few questions. :)
Just got back to you :D
As someone who’s trying to escape tutorial hell and figuring out how to plan my own side projects, your thought process was really helpful. Thanks for sharing!
I'm glad you find it helpful! Feel free let me know if you have any questions!
Woow. This came exactly when I needed it the most. I got this idea a few days ago and the concept is 90% similar. This helped a lot thank you
No problem! I'm glad it can be helpful!
Feel free to send me a DM if you have any more questions or need any help! I'd be more than happy to provide some thoughts into it
Great read thanks for share
On question
Why u use kaffeine if you already use uptimerobot which pings your website in every 5 mins
Yikes. I meant to say that I am using only UpTimeRobot now. I don't use Kaffeine anymore haha
I gave the wrong idea there :')
ok thanks it is awesome
Hi Jerry. Nice article and product. I also faced the same challenges with webscraping and decided to go with a scraping provider just like you after meddling for hours with chrome browsers..
Did you also implement full text search functionality and if so how?
Hey Caspi! Great question. To interact with the DB, I am actually using SQLAlchemy (ORM).
Prior to using Postgres's
similarityfunction, I was actually using the full-text search.In SQLAlchemy, I was using the
plainto_tsquerymethod (which is a wrapper around the plainto_tsquery function in Postgres) to perform a full-text search. Here's a code snippet from my previous implementation:I eventually switched to the' similarity' function to cope with typos, providing a better search experience for the users. Here's the code snippet of the actual (also current) implementation.
Here's a suggestion though:
If cost is not much of an issue, I would use Elasticseach (ES) or any Seach as a Service (i.e. Algolia or Appbase), whichever makes more sense for you) rather than making these queries directly to your DB. The advantage of this is that ES could act as a caching layer for our app while also making the search much faster with a tonne of added search-related features.
Hi Jerry.
Yes I agree elastic search and algolia are the kings on search engines.
I was just curious of it because I have not implemented search before. I have setup a poc of a elastic search server, but haven't really used it properly because it is so time consuming to work with.
I'm looking forward to what you are building!
@jerrynsh Thanks. I am building a website to analyze sentiments from Twitter and Reddit.
Hey guys. Shameless plug but we are building an Algolia/ES alternative: https://www.relevance.ai/discovery if you're keen on an Indiehacker alternative :)
Jerry, great article. Enjoyed reading it, and have been working on my own scraped search engine project too (for startup podcasts). The value add of aggregation is fun to play with in a field you're passionate about.
@danp It seems promising. I will have a look if I need to implement a search at some time. How does your service compare to Algolia?
Our basic search out of the box is very similar to Algolia. Rapid search as you type (even works with their InstantSearch components). Bit easier than Algolia for filtering and sorting (no need to re-index). We also offer 100K requests on our free plan rather than 10K.
Where we differ though is in how we handle more complex search. We use AI to handle synonyms/slang/content where Algolia uses manual rules and mappings.