私有搜索引擎服务的必要性及其价值(续)
给上篇备忘提一个问题:为什么要走两阶段处理,直接拿搜索结果列表进行展示不是更好么?当前我看业界的各大系统都是这么做的,这样速度不是还更快些?
这是个好问题。
解答一下:
直接拿搜索结果进行展示的前提在于,搜索引擎中必须存储全量的内容数据。
如果要在搜索引擎数据库上存储全量数据,基本上意味着需要消耗大量内存,更不用说这个搜索引擎数据库本身就会占用掉大量内存,而这在成本上,对于我们平民小服务来说,是几乎不可接受的。以及其使用和学习成本,也是有一定门槛的。
要压缩成本,其中一个方案就是选择不存储全量内容数据,而是仅仅存储需要进行模糊搜索的极少数字段。
只有这样,才有可能在成本上进行控制,同时在体验上得以提升。
以及,不选择全功能的搜索引擎数据库,而是选择仅支持模糊搜索即可的其他类型搜索引擎。它们通过针对用户模糊搜索场景进行研发,专门为优化用户搜索体验而来,同时又仅仅需要相对较少量的内存和存储即可支持数百万级条目内容的模糊搜索。而如果需求是仅仅是数万级条目内容的模糊搜索,就更适合不过了。