Skip to content

Performance: Consider replacing Elasticsearch with MySQL FULLTEXT for low-resource servers #6341

Description

@dmetzner

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    infrastructureServer, Docker, CI/CD improvementsperformancePerformance optimizationpriority:lowLow priority backlog

    Type

    Fields

    No fields configured for Task.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions