quickwit-oss/quickwit

Refactor Source building

Open

#1,064 创建于 2022年1月11日

在 GitHub 查看
 (4 评论) (0 反应) (0 负责人)Rust (553 fork)github user discovery
enhancementhelp wanted

仓库指标

Star
 (11,300 star)
PR 合并指标
 (PR 指标待抓取)

描述

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.

贡献者指南