我们做的是一个行业垂直搜索引擎,不同于商业搜索引擎,对于相关性方面没有花太多的功夫。
这套系统最早的原型是lucene,第一个版本也是java版的,后来发现到400w数据时,单机性能撑不住了,就开发了第二个版本,用C++编写,加入了一些电子商务的特性,灵活性有所下降,但是效率大大提升,目前可支撑1500w左右的商品数据。
系统的前台和上一系列的list系统基本相同,后台多了一个索引服务器,索引服务器单独运行,从流水DB中获取数据,不断的生成,合并索引,定期把索引文件和数据文件切换给搜索服务器。供搜索服务器使用。
整体系统的结构图如下:
实际运营环境中的部署比上面要复杂的多。