freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于java技術(shù)搜索引擎的研究及實(shí)現(xiàn)(編輯修改稿)

2025-07-16 17:35 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 程序*/ public class Searcher implements ISpiderReportable { public static void main(String[] args) throws Exception { IWorkloadStorable wl = new SpiderInternalWorkload()。 Searcher _searcher = new Searcher()。 Spider _spider = new Spider(_searcher, , new HTTPSocket(), 100, wl)。(100)。 ()。 } // 發(fā)現(xiàn)內(nèi)部連接時(shí)調(diào)用,url表示程序發(fā)現(xiàn)的URL,若返回true則加入作業(yè)中,否則不加入。 public boolean foundInternalLink(String url) { return false。 } // 發(fā)現(xiàn)外部連接時(shí)調(diào)用,url表示程序所發(fā)現(xiàn)的URL,若返回true則把加入作業(yè)中,否則不加入。 public boolean foundExternalLink(String url) { return false。 } // 當(dāng)發(fā)現(xiàn)其他連接時(shí)調(diào)用這個(gè)方法。其他連接指的是非HTML網(wǎng)頁(yè),可能是Email或者FTP public boolean foundOtherLink(String url) { return false。 } // 用于處理網(wǎng)頁(yè),這是Spider程序要完成的實(shí)際工作。 public void processPage(HTTP ) { (掃描網(wǎng)頁(yè): + ())。 new HTMLParse().start()。 } // 用來(lái)請(qǐng)求一個(gè)被處理的網(wǎng)頁(yè)。 public void pletePage(HTTP , boolean error) { } // 由Spider程序調(diào)用以確定查詢(xún)字符串是否應(yīng)刪除。如果隊(duì)列中的字符串應(yīng)當(dāng)刪除,方法返回真。 public boolean getRemoveQuery() { return true。 } // 當(dāng)Spider程序沒(méi)有剩余的工作時(shí)調(diào)用這個(gè)方法。 public void spiderComplete() { } } 在本章中,首先介紹了網(wǎng)絡(luò)機(jī)器人的基本概念,然后具體分析了Spider程序的結(jié)構(gòu)和功能。在最后還結(jié)合具體代碼進(jìn)行了詳細(xì)說(shuō)明。 本人在編程中運(yùn)用了JavaTM技術(shù),主要涉及到了net和io兩個(gè)包。此外還用了第三方開(kāi)發(fā)包Bot(由Jeff Heaton提供的開(kāi)發(fā)包)。第四章 基于lucene的索引與搜索 Lucene是Jakarta Apache的開(kāi)源項(xiàng)目。它是一個(gè)用Java寫(xiě)的全文索引引擎工具包,可以方便的嵌入到各種應(yīng)用中實(shí)現(xiàn)針對(duì)應(yīng)用的全文索引/檢索功能。 Lucene的原理分析 Lucene的API接口設(shè)計(jì)的比較通用,輸入輸出結(jié)構(gòu)都很像數(shù)據(jù)庫(kù)的表==記錄==字段,所以很多傳統(tǒng)的應(yīng)用的文件、數(shù)據(jù)庫(kù)等都可以比較方便的映射到Lucene的存儲(chǔ)結(jié)構(gòu)和接口中。 總體上看:可以先把Lucene當(dāng)成一個(gè)支持全文索引的數(shù)據(jù)庫(kù)系統(tǒng)。 索引數(shù)據(jù)源:doc(field1,field2...) doc(field1,field2...) \ indexer / _____________ | Lucene Index| searcher \ 結(jié)果輸出:Hits(doc(field1,field2) doc(field1...)) Document:一個(gè)需要進(jìn)行索引的“單元”,一個(gè)Document由多個(gè)字段組成Field:字段Hits:查詢(xún)結(jié)果集,由匹配的Document組成 Lucene的索引效率 通常書(shū)籍后面常常附關(guān)鍵詞索引表(比如:北京:12, 34頁(yè),上海:3,77頁(yè)……),它能夠幫助讀者比較快地找到相關(guān)內(nèi)容的頁(yè)碼。而數(shù)據(jù)庫(kù)索引能夠大大提高查詢(xún)的速度原理也是一樣,想像一下通過(guò)書(shū)后面的索引查找的速度要比一頁(yè)一頁(yè)地翻內(nèi)容高多少倍……而索引之所以效率高,另外一個(gè)原因是它是排好序的。對(duì)于檢索系統(tǒng)來(lái)說(shuō)核心是一個(gè)排序問(wèn)題。 由于數(shù)據(jù)庫(kù)索引不是為全文索引設(shè)計(jì)的,因此,使用like %keyword%時(shí),數(shù)據(jù)庫(kù)索引是不起作用的,在使用like查詢(xún)時(shí),搜索過(guò)程又變成類(lèi)似于一頁(yè)頁(yè)翻書(shū)的遍歷過(guò)程了,所以對(duì)于含有模糊查詢(xún)的數(shù)據(jù)庫(kù)服務(wù)來(lái)說(shuō),LIKE對(duì)性能的危害是極大的。如果是需要對(duì)多個(gè)關(guān)鍵詞進(jìn)行模糊匹配:like%keyword1% and like %keyword2% ...其效率也就可想而知了。所以建立一個(gè)高效檢索系統(tǒng)的關(guān)鍵是建立一個(gè)類(lèi)似于科技索引一樣的反向索引機(jī)制,將數(shù)據(jù)源(比如多篇文章)排序順序存儲(chǔ)的同時(shí),有另外一個(gè)排好序的關(guān)鍵詞列表,用于存儲(chǔ)關(guān)鍵詞==文章映射關(guān)系,利用這樣的映射關(guān)系索引:[關(guān)鍵詞==出現(xiàn)關(guān)鍵詞的文章編號(hào),出現(xiàn)次數(shù)(甚至包括位置:起始偏移量,結(jié)束偏移量),出現(xiàn)頻率],檢索過(guò)程就是把模糊查詢(xún)變成多個(gè)可以利用索引的精確查詢(xún)的邏輯組合的過(guò)程。從而大大提高了多關(guān)鍵詞查詢(xún)的效率,所以,全文檢索問(wèn)題歸結(jié)到最后是一個(gè)排序問(wèn)題。 由此可以看出模糊查詢(xún)相對(duì)數(shù)據(jù)庫(kù)的精確查詢(xún)是一個(gè)非常不確定的問(wèn)題,這也是大部分?jǐn)?shù)據(jù)庫(kù)對(duì)全文檢索支持有限的原因。Lucene最核心的特征是通過(guò)特殊的索引結(jié)構(gòu)實(shí)現(xiàn)了傳統(tǒng)數(shù)據(jù)庫(kù)不擅長(zhǎng)的全文索引機(jī)制,并提供了擴(kuò)展接口,以方便針對(duì)不同應(yīng)用的定制??梢酝ㄟ^(guò)一下表格對(duì)比一下數(shù)據(jù)庫(kù)的模糊查詢(xún):  Lucene全文索引引擎數(shù)據(jù)庫(kù)索引將數(shù)據(jù)源中的數(shù)據(jù)都通過(guò)全文索引一一建立反向索引對(duì)于LIKE查詢(xún)來(lái)說(shuō),數(shù)據(jù)傳統(tǒng)的索引是根本用不上的。數(shù)據(jù)需要逐個(gè)便利記錄進(jìn)行GREP式的模糊匹配,比有索引的搜索速度要有多個(gè)數(shù)量級(jí)的下降。匹配效果通過(guò)詞元(term)進(jìn)行匹配,通過(guò)語(yǔ)言分析接口的實(shí)現(xiàn),可以實(shí)現(xiàn)對(duì)中文等非英語(yǔ)的支持。使用:like %net% 會(huì)把netherlands也匹配出來(lái), 多個(gè)關(guān)鍵詞的模糊匹配:使用like %%net%:..匹配度有匹配度算法,將匹配程度(相似度)比較高的結(jié)果排在前面。沒(méi)有匹配程度的控制:比如有記錄中net出現(xiàn)5詞和出現(xiàn)1次的,結(jié)果是一樣的。結(jié)果輸出通過(guò)特別的算法,將最匹配度最高的頭100條結(jié)果輸出,結(jié)果集是緩沖式的小批量讀取的。返回所有的結(jié)果集,在匹配條目非常多的時(shí)候(比如上萬(wàn)條)需要大量的內(nèi)存存放這些臨時(shí)結(jié)果集??啥ㄖ菩酝ㄟ^(guò)不同的語(yǔ)言分析接口實(shí)現(xiàn),可以方便的定制出符合應(yīng)用需要的索引規(guī)則(包括對(duì)中文的支持)沒(méi)有接口或接口復(fù)雜,無(wú)法定制結(jié)論高負(fù)載的模糊查詢(xún)應(yīng)用,需要負(fù)責(zé)的模糊查詢(xún)的規(guī)則,索引的資料量比較大使用率低,模糊匹配規(guī)則簡(jiǎn)單或者需要模糊查詢(xún)的資料量少 中文切分詞機(jī)制 對(duì)于中文來(lái)說(shuō),全文索引首先還要解決一個(gè)語(yǔ)言分析的問(wèn)題
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1