- Elasticsearch 8.x dans docker-compose.dev - Package internal/elasticsearch: client, config, mappings, indices - Sync PG→ES: reindex tracks/users/playlists, IndexTrack/DeleteTrack - SearchService ES: multi_match + fuzziness (typo tolerance), highlighting - Fallback gracieux: PostgreSQL si ELASTICSEARCH_URL absent - Routes: GET /search, GET /search/suggestions, POST /admin/search/reindex - Frontend: searchApi cursor/limit params (extensibilité) - docs/ENV_VARIABLES: ELASTICSEARCH_URL, ELASTICSEARCH_INDEX, ELASTICSEARCH_AUTO_INDEX - Roadmap v0.10.2 → DONE
24 lines
467 B
Go
24 lines
467 B
Go
package elasticsearch
|
|
|
|
import "os"
|
|
|
|
// Config holds Elasticsearch connection configuration (v0.10.2 F361)
|
|
type Config struct {
|
|
URL string
|
|
Index string
|
|
Enabled bool
|
|
}
|
|
|
|
// LoadConfig loads Elasticsearch config from environment
|
|
func LoadConfig() Config {
|
|
url := os.Getenv("ELASTICSEARCH_URL")
|
|
index := os.Getenv("ELASTICSEARCH_INDEX")
|
|
if index == "" {
|
|
index = "veza-platform"
|
|
}
|
|
return Config{
|
|
URL: url,
|
|
Index: index,
|
|
Enabled: url != "",
|
|
}
|
|
}
|