化学品产品查询系统解决方案

一、要求

项目功能
方便客户查询化学品信息
业务现状
客户查询方式多样化,如通过名称查询、同义词查询、CAS号查询等
目前数据量是1千万
数据显示形式比较单调
业务目标
精确满足客户查询需求
丰富数据显示形式
查询速度控制在1-2s

 

二、解决方法

分析客户行为发现客户有一半概率是通过产品名称查询,一半概率是通过其他方式查询。同时客户在查询列表页停留的时间不超5分,因此我们采用Sql Server查询+ Lucene.net,实现该查询系统
采用技术
ASP.NET WebForm+Sql Server+IIS+ Lucene.net
使用MVP设计模式
硬件设备:一台web服务器+一台数据库服务器
使用策略
对查询的产品进行预处理,并对查询字段做索引
先使用数据库方式查询,如果查不到切换到Lucene查询
对查询结果缓存5分钟。如果5分内进行相同的查询,直接使用缓存数据
从缓存结果中,抽取二次查询条件,同时对相同供应商进行去重
统计结果采用ajax异步加载,所有供应商的统计数据只发送一次请求

 

三、以后需要改进的地方
Lucene.net在查询前需要做索引,压缩索引比较耗费资源和时间,目前采用的定时压缩策略。每天晚上进行重新制作索引,导致数据不能实时同步,鉴于目前的业务情况,该频率可以接受。实时性要求比较强的项目,可以使用Lucene的内存实时索引和离线索引互相配合使用,这样的缺点是比较耗资源
 
posted @ 2017-08-09 17:08  老谦君子  阅读(284)  评论(0编辑  收藏  举报