假设我现在需要构建一个搜索引擎,并且搜索引擎背后的海量的数据我已经获取了。假设我的搜索引擎使用了 pagerank 类型的图排序算法,则系统可以先利用数据构成一个图(由于数据量较大,构图的代价较高),之后根据排序算法对图中的节点进行排序。为了避免用户在提交检索请求时的长时间等待,上述图的计算结果应该被保存(保存在内存或者磁盘中)
那么,当搜索引擎所用的数据有所更新(例如增加新数据或者旧数据被修改)时,典型的处理方法是什么呢?
BTW,我目前主要有两种想法:
1
Raymon111111 2019-11-14 15:08:57 +08:00
两种方案都可以, 主要看业务对实时要求怎么样
主要考虑数据一致性和重启加载的问题 |
2
farseeraliens 2019-11-15 09:10:21 +08:00 via iPhone
你看一下 solr cloud 或者 elastic search 怎么实现的不就完了。开源搜索引擎那么多。
|