Problem
Elasticsearch 7.17 (EOL since May 2024) consumes ~1GB RAM minimum (512MB JVM heap + overhead). On a server with "very low hardware limits," this is a significant resource drain for what amounts to project/user search.
Options
Option A: Optimize current Elasticsearch
- Reduce heap to 256MB (risky, may OOM)
- Upgrade to 8.x for better memory management
- Use circuit breakers more aggressively
Option B: Replace with MySQL FULLTEXT
- MariaDB 10.11 supports FULLTEXT indexes
- Add FULLTEXT index on
program.name, program.description
- Eliminate Elasticsearch dependency entirely
- Saves ~1GB RAM
Option C: External search service
- Algolia free tier (10K requests/month)
- Meilisearch (lighter than Elasticsearch, ~50MB RAM)
- Typesense (similar to Meilisearch)
Recommendation
For a platform with limited hardware, Option B (MySQL FULLTEXT) is the pragmatic choice unless search quality is a hard requirement. Meilisearch (Option C) is a good middle ground.
Severity
Medium — 1GB RAM savings on limited hardware is significant.
Problem
Elasticsearch 7.17 (EOL since May 2024) consumes ~1GB RAM minimum (512MB JVM heap + overhead). On a server with "very low hardware limits," this is a significant resource drain for what amounts to project/user search.
Options
Option A: Optimize current Elasticsearch
Option B: Replace with MySQL FULLTEXT
program.name,program.descriptionOption C: External search service
Recommendation
For a platform with limited hardware, Option B (MySQL FULLTEXT) is the pragmatic choice unless search quality is a hard requirement. Meilisearch (Option C) is a good middle ground.
Severity
Medium — 1GB RAM savings on limited hardware is significant.