搜索引擎4大系统
1下载系统
三个data Ingest service,定时到3个库拿数据,基于时间戳的增量
2分析系统
基于XLST/XPATH,可定制,输入是feed entry, 输出是3个方向
1)entry整体存档,作为原始文档,data fragment service
2)用xlst 对 entry进行数据抽取、转换,变成result item
3)用xlst对entry进行数据抽取,转换,变成dimensionEntry,就是倒排索引项,从当前entry抽出一部分数据,指向当前entry
3索引系统
1)resultItem的编号,存储,PointerTable维护
2)倒排索引项指向resultItem的 编号(之前是用自然主键关联)、存储,一个索引项目根据match模式可能会分成很多索引项(所有前缀,所有后缀)
一个dimension一个文件,但文件内部是按resultItem Type 分组的,也就是一个(dimension,resultItemType)决定一棵树
3)处理排序
4查询系统
1)index load: build index trie, 数据master
2)open data 协议 -> 内部查询格式
3)缓存:查询缓存,resultItem缓存
4)查询执行:多条件的filter模式,intersect模式,排序