你好,游客 登錄
背景:
閱讀新聞

六合图库助手下载:談談Hadoop和分布式Lucene

[日期:2009-01-18] 來源:  作者:馬士華 [字體: ]

六合图库118万众图库 www.xorsm.icu  

Lucene是大用的較多的開源搜索引擎。本文不探討Lucene如何實時更新(//issues.apache.org/jira/browse/LUCENE-1313),和如何修改Lucene評分機制,添加如PageRank評分因子,本文只討論分布式的Lucene。

 

similarity

 

說到Lucene般都會提到Nutch,Hadoop較早是Doung Cutting為了Nutch的crawler和indexer所開發的做為nutch的兩個package。Hadoop在Nutch中的作用是抓取頁面和建立索引。其抓取和建索引詳見頁面。因為Hadoop的seek能力限制,Nutch的分布式搜索使用手動配置的機制,缺少管理索引能力和服務器的機制。具體步驟:在webserver中修改search-servers.txt把搜索服務的服務器地址和服務端口添加進去,然后把nutch-site.xml中的searcher.dir指到search-servers.txt保存的目錄,在提供搜索服務的服務器上手動的從HDFS中拷貝索引文件到本地。啟動DistributedSearch.Server提供搜索服務。Nutch節點失效通過搜索請求IPC調用的超時來通知。

Lucene另種分布式搜索是使用Solr(本人不太熟悉Solr)。所有的更新是在Solr的主服務器,通過cron自動分發到搜索服務器。搜索通過只定shards的host:port/base_url分發到各個搜索服務器。url例子://localhost:8983/solr/select?shards=192.168.1.27:8983/solr,192.168.1.28:8983&q=solr。缺點是沒有全局的Lucene評分機制中的idf、lengthNorm因子,沒有節點失效處理機制。由于分發document到shards使用uniqueId.hashCode() % numServers機制,可擴展性大打折扣。較近Rackspace結合Sorl,Hadoop和Tomcat來搜索郵件日志數據,文檔中看不出使用何種機制失效處理機制等。

 

在Hadoop的wiki中提到由HP Lab實現的Distributed Lucene,但是自從08年5月18日提交了次source后沒了下文。

 

Katta分布式搜索是101tec.com貢獻的個開源項目。主要目的提供高有效性的搜索服務,并提供負載平衡。Katta使用zookeeper主節點和搜索節點的有效性,指派索引文件給搜索節點,察覺搜索節點的失效。每個搜索節點在啟動時往zookeeper的“/nodes”節點寫個短暫的znode。主節點設定watch事件察覺這個znode的變化。即當節點和zookeeper server連接斷開時,zookeeper自動把這個znode刪除,并通知主節點。同樣,相同的程序處理主節點失效。當前只有個活動的主節點往zookeeper中寫“/master” 這個znode。備用的主節點設定watch事件察覺這個znode的變化,并把自己變成活動的主節點。當有新的索引被部署時在zookeeper中“/index” znode下添加個znode,主節點把這個索引分配給搜索節點?!?nodes-to-shards”目錄保存每個搜索節點的znode,在每個znode下是這個搜索節點被分配的索引文件列表?!?shards-to-nodes”目錄保存每個搜索節點的znode,在每個znode下是這個搜索節點已經部署的索引文件列表。

Katta現階段沒有實時更新。(正在計劃,可能類似于Dynamo,更新的致性,采用類似于 Quorum 系統的致性協議實現),沒有LRU或LFU緩存策略。其分布式TF-IDF的解決方案:分為兩次發送請求。先向每個搜索節點發送獲取document frequency(只讀取tis文件)的請求,然后再向每個搜索節點發送搜索請求,把document frequency和query起發送。

 

在Hadoop的contrib中的index是使用MapReduce建立Lucene索引的,不是用來搜索用的。

 

通過上面的軟件,我們可以建立個自動化的搜索服務。建立個web控制服務器來監控整個過程。先使用hadoop的MapReduce來建立索引,在提交job是設定job.end.notification.url到我們的控制服務器,控制服務器接受到建立索引的任務已經完成,可把索引分配給Katta提供搜索服務。

推薦 打印 | 錄入: | 閱讀:
相關新聞      
本文評論   
評論聲明
  • 尊重網上道德,遵守中華人民共和國的各項有關法律法規
  • 承擔一切因您的行為而直接或間接導致的民事或刑事法律責任
  • 本站管理人員有權保留或刪除其管轄留言中的任意內容
  • 本站有權在網站內轉載或引用您的評論
  • 參與本評論即表明您已經閱讀并接受上述條款
重庆时时彩开奖视频直播 快速时时软件计划 mg电子游戏容易赢钱吗 香港36码特围 求一个pk10稳的计划 京pk10五码稳定计划 北京pk10稳赚技巧 北京pk10怎么玩才赚钱 大乐透500期基本走势图 足球设胆是什么意思 篮球投注 澳门博彩骗局 世界杯网上能投注吗 购彩票大厅 时时彩后三包胆计算公式 买大小单双的最好方法