https://github.com/hakaneroztekin/redis-full-text-search
A simple search app with ReactJS, Material UI, NodeJS, Redis Cloud.
https://github.com/hakaneroztekin/redis-full-text-search
full-stack fullstack-javascript material-ui node nodejs react reactjs
Last synced: 11 months ago
JSON representation
A simple search app with ReactJS, Material UI, NodeJS, Redis Cloud.
- Host: GitHub
- URL: https://github.com/hakaneroztekin/redis-full-text-search
- Owner: hakaneroztekin
- License: mit
- Created: 2021-12-04T02:40:22.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2021-12-10T02:24:04.000Z (about 4 years ago)
- Last Synced: 2025-01-08T15:37:10.346Z (12 months ago)
- Topics: full-stack, fullstack-javascript, material-ui, node, nodejs, react, reactjs
- Language: JavaScript
- Homepage:
- Size: 858 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## full text search
A simple app that searches user provided keyword among informations of a thousand student.

### design & tech
**design**
- React app sends a request to the backend to search all students at initial page load.
- Backend parses the students from a JSON file, which mimics a 3rd party app call.
- After that, Redis caches the data makes consecutive calls faster.
**features**
- Full text search among all fields of students (id, first name, last name).
- A simple info table that shows response times and matching student count.
**tech**
- Frontend with ReactJS, Material UI
- Backend with NodeJS, Redis Cloud.
**notes on Redis Full Text Search (FTS)**
- Redis provides in-built FTS feature with RediSearch module. I tried to implement it for a better comparison. Yet, its'
NodeJS libraries are so erroneous, lack proper documentation and hard to use made it impossible. So it's better to look an alternative like Elasticsearch if you want to have FTS with NodeJS.
### how to use
- Set environment variables `redis.host` and `redis.port` for your Redis (either local or cloud).
- Then run backend and frontend projects.