1 新业务接入
[a] dump形式: 走DB、走云梯、走dump中心
[b] 查询量和更新量:当查询比较平稳而更新较大,此时IO负载需要评估
[c] 查询出现瓶颈时,可以考虑设置缓存,查看缓存命中率,可以在后台使用admin的相关请求查看
[d] 新业务索引数据:
-- 尽量只保存DB的 索引字段,而不保存DB的全部信息,最大化发挥引擎性能
-- 尽量减少schema字段,合并或者stored=false索引字段,需要与业务方深入沟通
-- 或者引擎存DB索引字段,而记录内容存mongodb等nosql系统
[e] 新业务查询数据
-- 查询翻页,尽量走页面缓存,而不是每次查询
-- 尽量引入输入提示,引导query,引导流量,提升cache命中率和搜索准确性
-- 使用单字分词而不使用模糊匹配,在query解析的时候
-- 流量优先而数据规模增长缓慢的,可以直接使用lucene api 绕过solr解析,提升tps
-- 数据规模增长优先而查询缓慢增长,走普通模式
-- 查询时效性优先,走实时模式
-- 查询时效性优先,同时数据增长优先,走实时模式的 非中心化实现
-- 查询时效性优先,数据增量缓慢,走实时模式的 中心化实现
-- facet、groupby、score boost、模糊查询、区间查询、高亮等可以支持
-- 个性化分词策略支持
-- 区间查询比例大,走ecrm这种区间优化策略
-- 排行榜问题,走facet或者sort field
[f] 预留备用机器,应对节假日高峰请求(高峰的读或者写)
[g] 申请结点,考虑跨机房,至少cm3和cm4 都有结点
[h] 业务方需求尽量变更批量提交,而不是每一个小需求就立刻变更并立即部署
2 运行时关注问题
[a] 文件句柄
[b] 索引全量、增量exception
[c] 磁盘空间
[d] load io 情况
[e] reload、unload core
[f] 报警处理
[g] jvm参数
[h] log分析与log规范化
3 动态启停服务,支持平滑变更schema、变更dump逻辑
[a] reload schema
[b] reload jar
[c] reload DB 连接信息
[d] reload 全量、增量时间配置信息
4 后台系统
[a] 自动化接入
[b] 查询
[c] 统计与报表
5 规范化
[a] svn 管理
[b] 文档管理
[c] 业务管理
6 测试平台与辅助小工具------需要具体数值来量化
[a] 独立引擎不依赖终搜的集中配置
[b] dump与查询本地验证工具
[c] 系统时间轨迹
[d] 系统内存轨迹
[e] 系统tps与超时比例
[f] 系统tps与数据规模
[e] 系统tps与读写比例
[g] 系统tps与内存
[h] 系统tps与cache设置
7 集群资源共享
[a] dump中心Index
[b] dump中心index与search
[c] 配置推送或者配置常驻系统,只在数据到达后启动服务,最大化集群使用率
[d] 推荐