quickwit-oss/quickwit

Refactor Source building

Ouverte

#1 064 ouverte le 11 janv. 2022

 (4 commentaires) (0 réaction) (0 personne assignée)Rust (581 forks)github user discovery
enhancementhelp wanted

Métriques du dépôt

Stars
 (11 537 étoiles)
Métriques de merge PR
 (Merge moyen 5j 18h) (41 PRs mergées en 30 j)

Description

In #1058, we did one step from (dynamic factory + json) to a static enum world in order to have source type specific source params validation.

We are now half-way between two worlds.

Solution 1

Just go full enum. The factory is a function of the enum. Pros: Very simple Cons: Does not separate the concern super well.

Note: If we go for that route, source_type() should return an enum too.

Solution 2

Use a SourceParams trait that can build a Source type (does the job of the factory) and do dark magic, like what @fmassot did for the IndexConfig deserialization.

Guide contributeur