麻豆传媒视频在线,国产91精品不卡视频,欧美jizz19性欧美,污视频网站在线观看,91涩漫在线观看,伊人发布在线,九色porny丨首页在线,福利视频一区,久久av网址,久久人人视频

當前位置:首頁 > 網站舊欄目 > 學習園地 > 設計軟件教程 > Lucene Hack之通過縮小搜索結果集來提升性能 (1)

Lucene Hack之通過縮小搜索結果集來提升性能 (1)
2010-01-13 23:05:21  作者:  來源:
一、緣起
Lucene在索引文件上G之后的搜索性能下降很嚴重,隨便跑個搜索就要上0.x秒。如果是單線程搜索那么性能尚可,總可以在0.x秒返回結果,如果是Web式的多線程訪問,由于Lucene的內部機制導致數據被大量載入內存,用完后立即丟棄,隨之引起JVM頻繁GC,性能極其低下,1-10秒的長連接比比皆是。這也是世人為之詬病的Lucene應用瓶頸問題,那么是否有解決方法呢?

二、思路
我們來觀察Google, Baidu的搜索,有一個總體的感覺就是搜索結果多的關鍵詞耗時比較少,結果少的關鍵詞耗時反而多,且結果多的時候會說“約******個結果”。隱士猜測Google, Baidu的算法是找到前n個結果后停止掃描索引,根據前n個結果來推斷總共有多少個結果,此猜想可由Google, Baidu翻頁限制而得到部分驗證。
再看Lucene,其Hits.length()返回的總是精確的結果,如果可以讓Lucene也返回模糊的結果,那么索引文件就算是10G也可以輕松應對了。

三、探索
隱士帶著這個問題訪名山、覓高人,可惜沒有找到前人的成果,可能是隱士走的路不夠勤,如有類似的解決方案,隱士不吝賜教。
無奈之下,隱士詳細研究了Lucene 2.1.0源碼,準備重新發明輪子。
一般來說大多數搜索應用中的Query都會落在BooleanQuery上,隱士就拿它開刀。一路看來,BooleanScorer2里的一個method吸引了隱士,代碼如下:

Java代碼 復制代碼
  1. public void score(HitCollector hc) throws IOException {   
  2.   if (countingSumScorer == null) {   
  3.     initCountingSumScorer();   
  4.   }   
  5.   while (countingSumScorer.next()) {   
  6.     hc.collect(countingSumScorer.doc(), score());   
  7.   }   
  8. }  


在while循環里嵌入寫日志代碼可證結果集有多大,此處就循環了多少次。countingSumScorer.next()的意思是找到下一個符合boolean規則的document,找到后放入HitCollector,這HitCollector后面會換個馬甲放在大家熟悉的Hits里面。
如果可以在這個while循環里嵌一個break,到一定數量就break出來,性能提升將相當明顯。這個代碼相當簡單,果然大幅提高了性能,帶來的副作用是結果不太準,這個可以通過調整業務模型、邏輯來修正。畢竟這是一條提升Lucene性能的有效方法。
細細想來,正是由于這個break會導致結果集大的關鍵詞提前出來,搜索時間少,結果集小的關鍵詞不可避免會走完整個索引,相應的搜索時間會長一點。

四、效果
由于具體嵌入代碼的過程極其繁瑣,隱士將在第二回詳細講解。這第一回先來個Big picture。
歷盡千辛萬苦,隱士終于搞定了這套程序,效果可以從隱士做的視頻搜索http://so.mdbchina.com/video/%E7%BE%8E%E5%A5%B3看出。
這個關鍵詞“美女”可以找到18萬個視頻,平均0.5秒返回結果,現在用上了新算法,只要0.06x秒返回結果,而且返回結果足夠好了,估算的8.5萬個結果雖然離18萬有很大差距,不過由于是估算的,差2-3倍應屬可以接受的。
由算法的特性可知,while里面的hc.collect總可以在常量時間內完成,循環次數又是<=常量,該算法的時間復雜度只和BooleanQuery的復雜程度相關,和索引文件大小以及命中的Document在索引文件內的分布密度沒有關系,因為BooleanQuery的復雜程度決定了countingSumScorer.next()需要經過多少次判斷、多少次讀取索引文件,countingSumScorer.next()正是整個算法中耗時不定的部分。
現在這個視頻搜索的索引文件接近3G,熱門關鍵詞可以在0.0x秒返回結果,隱士相信即使以后索引文件上到10G,依然可以在0.0x秒返回結果。

(注:這個視頻搜索實際使用效果會打折扣,因為后臺索引也在這臺機器上,以后會分服務器,現在暫時在一起。)

安徽新華電腦學校專業職業規劃師為你提供更多幫助【在線咨詢
亚洲第一精品影视| 亚洲最新色图| 国产黄色在线观看| 国产福利第一视频在线播放| 手机亚洲第一页| 精品孕妇一区二区三区| 极品少妇一区二区三区精品视频 | 国产精品毛片一区二区三区四区| 日本私人影院在线观看| 美女的尿口免费视频| 色琪琪免费视频网站| 久蕉在线视频| sm在线播放| av男人一区| 欧美69视频| 青青草成人在线观看| 国产精品主播直播| 中文av一区二区| 亚洲电影小说图| 欧美精品一区二区不卡| 久久久久久久电影一区| 日本一区二区视频在线观看| 久久高清免费| 91免费版在线观看| 日韩欧美成人一区| 日本视频免费一区| 国产综合色在线观看| 国产精品视频白浆免费视频| 成人做爰高清视频网站| 国产999精品视频| 国产美女视频黄a视频免费| 久久久久久久久亚洲精品| 色www永久免费视频首页在线| 国产精品专区免费| 欧美一级大片在线视频| 成人三级视频| 理论片日本一区| 国产精品久久久久久久久免费桃花| 亚洲午夜精品17c| 精品国产乱码久久久久久老虎 | 亚洲成av人片一区二区| 国产福利一区二区三区视频| 亚洲深夜福利| 激情欧美日韩一区| 93在线视频精品免费观看| 91成人福利| 视频一区在线| 国产精品任我爽爆在线播放| 小黄鸭精品aⅴ导航网站入口| av在线播放资源| 黄色视屏在线免费观看| 黑人另类精品××××性爽| 欧美精品尤物在线观看| 啪啪免费视频一区| 精品视频偷偷看在线观看| 久久久久电影| 免费特级黄毛片| 精品99999| 国产精品成人免费在线| 日韩二区三区四区| 在线日韩成人| 2024最新电影在线免费观看| 成人黄色网免费| 欧美日韩国产在线播放网站| 中文字幕日韩一区二区| 亚洲精品久久嫩草网站秘色| 亚洲最大色网站| 欧美性做爰猛烈叫床潮| 日韩视频一区二区三区在线播放| 亚洲欧洲日产国产网站| 欧美理论电影在线观看| 国产精品大片wwwwww| 中文天堂av| 手机在线免费av| 97久久中文字幕| 九九久久成人| 成人影院在线看| 亚洲午夜精品| 激情综合中文娱乐网| 成人免费视频免费观看| 天天射综合影视| 日韩精品丝袜在线| 国产日韩欧美日韩大片| av在线免费观看网站| 136国产福利精品导航网址应用| 久久精品青草| av在线不卡免费看| 色综合久久久久| 国外成人在线直播| 在线观看免费版| 一区二区三区四区精品视频 | 日韩美女久久久| 亚洲成人黄色在线| 91精品国产综合久久香蕉922| 成人免费视频一区| 国产激情一区二区三区四区| 亚洲成av人片www| 久久免费精品视频| 不卡一本毛片| 婷婷另类小说| 国产精品久久精品日日| 蜜桃一级网站.| 日本孕妇大胆孕交无码| 一本精品一区二区三区| 亚洲欧洲日本在线| 久久99热这里只有精品国产| 成人福利在线观看视频| 久久亚洲专区| 午夜视频在线观看一区| 97精品国产97久久久久久春色| 岛国av在线网站| 另类av一区二区| 欧美xxxx在线观看| av资源在线观看免费高清| 成人在线免费小视频| 午夜一区二区三区视频| 国产精品视频区| 亚洲精品合集| 国产精品亲子乱子伦xxxx裸| 91精品国产91久久久久| 国产一区二区三区免费在线| 国产欧美一区二区三区沐欲| 久久久久亚洲精品| 国产乱人伦精品一区| 亚洲欧美成aⅴ人在线观看| 国产激情久久久| 一本色道久久综合狠狠躁的番外| 国产精品久久久久桃色tv| 国产精品综合不卡av| 91精品秘密在线观看| 欧美在线免费视屏| av一本在线| 国产精品66部| 欧美壮男野外gaytube| 亚洲精品动态| 日韩免费视频线观看| 欧美成人a交片免费看| 中文字幕免费在线观看视频一区| 国产美女久久久| 午夜亚洲视频| 久久精品视频在线观看| 欧美男gay| 亚洲第一视频网站| 精品欧美午夜寂寞影院| 欧美日韩三级一区| 国产另类xxxxhd高清| 色av成人天堂桃色av| 桃子视频成人app| 好吊成人免视频| 国产精品电影| 日韩欧美在线国产| 亚洲人体视频| 欧美性大战久久久久久久蜜臀| 在线视频超级| 欧美在线一二三四区| www一区二区三区| 日韩久久精品一区| 久久亚洲道色| 波霸ol色综合久久| 亚洲成色精品| 麻豆福利视频| 99久久精品费精品国产一区二区| 欧美知名女优| 国产精品久久久久一区二区三区 | 日韩经典一区| 欧美电影免费提供在线观看| 性人久久久久| 久久久久久久久久久网站| 中文一区二区| 在线免费国产视频| 樱花影视一区二区| 成人黄色免费短视频| 精品欧美一区二区在线观看 | 性久久久久久久久久久久| 91精品国产一区二区在线观看| 91精品国产色综合久久ai换脸| 欧美一级精品| 国产精品色午夜在线观看| 国产精品女主播av| 久久麻豆视频| 66m—66摸成人免费视频| 91玉足脚交白嫩脚丫在线播放| 忘忧草在线日韩www影院| 国产一区二区三区在线观看网站| 精品一区二区三区在线视频| 高h视频在线观看| 亚洲色图国产精品| 久久久综合视频| 国产麻豆一区二区三区| 日韩美女免费线视频| 亚洲免费av高清| 欧美 日韩 国产一区二区在线视频 | 啊啊啊射了视频网站| 午夜久久久影院| 欧美私人啪啪vps| 婷婷丁香在线| 欧美亚洲成人网| 欧美性69xxxx肥| 免费人成在线不卡| 影音成人av|