您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > 高并发搜索系统设计-58同城-舒凯
高并发搜索系统设计58同城搜索部:舒凯shukai@58.com第20期:《58同城--“神奇的”技术专场》概况328个城市380类别2亿数据3亿访问Qps5000/s特点架构工程模型角色工具问题实时优化功能特点准实时搜索同时支持硬盘和内存索引方式硬盘索引使用mmap方式打开索引设计基于读写分离的思想架构(旧)proxyStaticIndexStaticIndexgroup2StaticIndexStaticIndexgroup1RealtimeIndexRealtimeIndexBuilder架构(新)proxyRealtimebuilderbuildermergerRealtimeRealtimeRealtimeproxyRealtimemergerRealtimeRealtimeRealtimeAggregator工程IndexlibEsearch(queryparser,retriver,checker,facet,realtime,sort)NetterRankMonitorSharelibEsearchops工具Stage_poolDynamicbufSlice_listClose_hashSlice_arrayBitmap角色Reader和iteratorWriterMerger模型(reader)term1term2倒排模型docidarrayvalue2value1正排模型Docid1Docid2问题(正排)类型存储正排索引逻辑结构AttributeCreatorTypeCreatorSingleNumberMultiNumberSingleStringMultiStringboolCmpactCmpactVarSparse问题(倒排)Keyrange倒排索引逻辑结构Keyhash(key=fieldname+term)docidarraySortedKeyArray实时documentAreadAreadBAreadBreadABABread1234merging查询query=dcateid2:(128)ANDlocal:(1411)ANDdtitle2:(印刷)&&sort=fields(paramo5923:desc)&&config=start:0,rows:100,timeout:1000&&fields=infoid,paramo5923&&facet=&&check=state:(1)&&extract=field:userid,num:175&&zone=coords:(104.00756,30.68103);distance:2000.0查询Query解析逻辑操作统计打分取值过滤排序输出优化Cache1.每个segment拥有独立cache2.进cache的结果有冗余量,取出结果会用deletionmap过滤优化Checker通过用正排表做filter,解决小集合和大集合做与操作的效率问题优化SlowDump解决大文件dump时抢占cpu问题功能Update单域Pack打分插件谢谢
本文标题:高并发搜索系统设计-58同城-舒凯
链接地址:https://www.777doc.com/doc-6298804 .html