受监管搜索 · 私有测试版 · 计划开源
EGOTHOR v4
新一代 Egothor 搜索基础设施,面向那些“相关性”只解决了一半问题的信息环境。在结果可以披露之前,搜索还必须保持可见性、许可级别、分类、完整性、隔离域和冲突边界。
当“匹配”并不自动等于“可披露”
传统企业搜索常问:用户能否进入某个应用,然后搜索其中的索引。受监管信息系统需要一个更精确的问题:在当前上下文中,这个主体是否可以接收这一具体结果,而不会跨越分类、隔离域或冲突边界?
EGOTHOR v4 正是围绕这种区别设计。身份与 MFA 确定“谁在询问”;检索确定“什么匹配”;信息策略决定“什么可以暴露”。披露边界保持可见,而不是在一次不受限制的搜索之后,隐藏在展示层过滤逻辑中。
- 策略不是事后的视觉过滤器。
- 驻留检索保持确定性,因此行为可以被测试和推理。
- 披露属于正确性的一部分,尤其当信息类别和隔离域重要时。
- 安全与检索 始终作为两个可见的关注点存在。
具有显式不变量的搜索内核
当前工程把索引组装与驻留查询分离。写入路径可以自由构建和验证结构,而高频读取路径则在具有可预测语义的紧凑表示上运行。
驻留检索
搜索运行在专用的面向读取表示上,而不是把索引修改和高频查询混在同一条路径中。
确定性 Top-K
排序和并列处理被视为可复现契约,使相同可搜索状态与查询产生稳定的结果顺序。
活动文档可见性
文档可见性可以变化,而无需让搜索器假装已删除或被替代的记录仍然有资格出现在结果中。
流式摄取
索引构建围绕 barrel 组装和受控发布设计,而不是要求一次性在内存中构建所有内容。
API 边界
摄取、驻留访问和查询契约保持分离,使性能优化或存储演进不会悄然改变公开搜索语义。
证据导向工程
测试和基准属于内核契约的一部分,包括确定行为,以及公共 API 性能和稳态性能之间的区别。
检索策略不是事后补充
搜索内核和信息控制模型回答不同的问题,也需要不同证据。内核证明匹配和排序行为正确;策略层则判断匹配记录是否可以披露给有效主体。
主体允许接收什么级别的信息?
记录或集合适用哪种处理类别?
在信息可用之前必须满足哪些完整性或信任条件?
即使位于同一搜索服务中,哪些信息域仍必须保持分离?
哪些组合即使单个项目都可访问,也不得共同披露?
身份、管理和策略变更如何做到可观察且可审计?
私有测试版要证明什么
测试版并不仅仅是 UI 里程碑。它是搜索机制和安全边界必须作为一个运营系统共同工作的阶段:认证访问、索引生命周期、确定性查询行为、管理、实时可见性和披露策略都必须在变化中仍然可理解。
核心系统能够摄取内容并执行查询。
身份保障属于运行系统的一部分,而不是未来再添加的功能。
正在改进驻留结构、搜索语义、测试和性能,以形成清晰的公共库边界。
授权和信息策略正在作为搜索系统一级约束进行塑造。
当公共架构与契约达到适合外部使用的阶段后发布源代码。
下一代 Egothor,而不是兼容性练习
历史上的 Egothor 引擎探索了 Java 全文检索、分布式搜索和动态索引维护。v4 回到搜索引擎核心,但采用现代实现并面对不同的安全问题:在信息边界本身属于正确性一部分的系统中实现高质量检索。