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.

貢獻者指南