Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/typesense/showcase-recipe-search
Instantly search 2M cooking recipes using Typesense Search (an open source alternative to Algolia / ElasticSearch) ⚡ 🥘 🔍
https://github.com/typesense/showcase-recipe-search
instantsearch typesense typesense-instantsearch-adapter typesense-showcase
Last synced: 5 days ago
JSON representation
Instantly search 2M cooking recipes using Typesense Search (an open source alternative to Algolia / ElasticSearch) ⚡ 🥘 🔍
- Host: GitHub
- URL: https://github.com/typesense/showcase-recipe-search
- Owner: typesense
- License: apache-2.0
- Created: 2020-12-09T17:48:04.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2021-04-23T03:19:19.000Z (over 3 years ago)
- Last Synced: 2024-12-08T01:50:14.057Z (13 days ago)
- Topics: instantsearch, typesense, typesense-instantsearch-adapter, typesense-showcase
- Language: JavaScript
- Homepage: https://recipe-search.typesense.org
- Size: 740 KB
- Stars: 478
- Watchers: 16
- Forks: 35
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- starred - typesense/showcase-recipe-search - Instantly search 2M cooking recipes using Typesense Search (an open source alternative to Algolia / ElasticSearch) ⚡ 🥘 🔍 (JavaScript)
README
# 🥘 Instant Recipe Search, powered by Typesense
This is a demo that showcases some of [Typesense's](https://github.com/typesense/typesense) features using a 2 Million database of recipes.
View it live here: [recipe-search.typesense.org](https://recipe-search.typesense.org/)
## Tech Stack
This search experience is powered by Typesense which is
a blazing-fast, open source typo-tolerant
search-engine. It is an open source alternative to Algolia and an easier-to-use alternative to ElasticSearch.The recipe dataset is from Glorf/recipenlg 🙏!
The dataset is 2.2 GB on disk, with ~2.2 million rows. It took 8 minutes to index this dataset on a 3-node Typesense cluster with 4vCPUs per node and the index was 2.7GB in RAM.
The app was built using the
Typesense Adapter for InstantSearch.js and is hosted on S3, with CloudFront for a CDN.The search backend is powered by a geo-distributed 3-node Typesense cluster running on Typesense Cloud,
with nodes in Oregon, Frankfurt and Mumbai.## Repo structure
- `src/` and `index.html` - contain the frontend UI components, built with Typesense Adapter for InstantSearch.js
- `scripts/indexer` - contains the script to index the recipe data into Typesense.
- `scripts/data` - contains a 1K sample subset of the recipes database. But you can download the full dataset from the link above.## Development
To run this project locally, install the dependencies and run the local server:
```shell
yarn
bundle # JSON parsing takes a while to run using JS when indexing, so we're using Ruby just for indexingyarn run typesenseServer
ln -s .env.development .env
BATCH_SIZE=1000 yarn run indexer:transformDataset # This will output a JSONL file
yarn run indexer:importToTypesense # This will import the JSONL file into Typesenseyarn start
```Open http://localhost:3000 to see the app.
## Deployment
The app is hosted on S3, with Cloudfront for a CDN.
```shell
yarn build
yarn deploy
```