Search Logic
When searching for a restaurant name, the exact restaurant may not appear at the top. This happens because:
- Search results are ordered by the revenues generated to the HH.
- Restaurants with higher demand and higher revenue contribution are ranked higher.
Reference: https://hungryhubgroup.slack.com/archives/C02P9FS8R51/p1658389421094339
Screen Recording 2565-07-21 at 14.41.22.mov
Search ranking is partly based on revenue.
Coffee Club Express generated more revenue for us than The Press Sky Bar, so it ranked higher while The Press Sky Bar was still a newer restaurant.
Search logic in Fast API
Fuzzy matching in Fast API handles typos and synonyms — for example, searching for “cafe” will also match “café”, and minor misspellings will still return relevant results. The fuzzy threshold is tuned to balance precision and recall.
To improve a restaurant’s visibility in search results:
- Ensure the restaurant name is correctly entered and matches common search terms.
- Add relevant tags (cuisine type, location, features) to increase keyword coverage.
- Increase booking volume and revenue contribution, as higher-revenue restaurants rank higher in results.
- Contact the engineering team if a restaurant appears incorrect or missing despite having an active status.
Search ranking is partly based on revenue.
Coffee Club Express generated more revenue for us than The Press Sky Bar, so it ranked higher while The Press Sky Bar was still a newer restaurant.

Search by type
Restaurant name
- Get the restaurant list from the Fast API filter first.
- If
enable search with menuis turned on, filter again by restaurant tags that match the search text. - Filter again to keep only active and non-expired restaurants.
Service type
- Start from active restaurants that can receive offers.
- Filter by service type such as delivery or dine-in.
Cuisine
- Start from active restaurants that can receive offers.
- Filter by cuisine tag, for example
Buffet.
Price
- Start from active restaurants that can receive offers.
- Filter by package price.
- Filter again by restaurant price summary.
Location
- Start from active restaurants that can receive offers.
- Filter by location tag, for example
Phuket.
Other filters
- Start from active restaurants that can receive offers.
- Filter by facility tags, for example
Rooftop.