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

正文內(nèi)容

基于lucene的全文搜索引擎設(shè)計(參考版)

2025-08-10 15:00本頁面
  

【正文】 之前對這三個開源軟件是一點也不了解,都是通過看書自己去學習,然后嘗試去使用它們,從使用的過程中獲取經(jīng)驗,逐步地了解掌握。 系統(tǒng)中用到的很多技術(shù)點也都是自己現(xiàn)學現(xiàn)賣的。所以剛開始設(shè)計時自己也走了不少的彎路,遇到一些比較困難的問題時甚至想棄而改做其他類型的系統(tǒng),系統(tǒng)開發(fā)過程也不是說一直持續(xù)順利的走下去,而是斷斷續(xù)續(xù)的。 開始畢業(yè)設(shè)計之前對Lucene,Heritrix等東西一點也不了解。這對自己不僅僅是完成自己大學期間的最后一個實驗任務,還是使自己去了解和掌握一門新的技術(shù),更是以一種探究的態(tài)度去學習搜索引擎的運作方式。經(jīng)過分析才發(fā)現(xiàn)以上問題,并順利解決。而當索引的Bean進行初始化的時候就會初始化一個IndexWriter,一旦沒有進行關(guān)閉就會刪除已經(jīng)建立好的索引文件。 在系統(tǒng)進行單元測試的時候也遇上了一些比較低級的錯誤。 開發(fā)過程出現(xiàn)的問題 在開發(fā)前期使用Heritrix抓取網(wǎng)頁,由于初次接觸搜索方面的技術(shù)對此很不了解,所以使用Heritrix的時候是頻頻出錯。暫時還沒有提供更為高級的搜索。希望系統(tǒng)能夠進一步地完善,采用更好的分詞技術(shù),提供更為準確的搜索功能。 }盡管使用JE分詞,但是還是存在一定程度上缺陷。 //添加自定義詞組 ((MMAnalyzer) analyzer).addDictionary(reader)。如下代碼:/** * 初始化方法,實例化了一個JE分詞的Analyzer 然后把詞庫加載入分詞器的詞庫中 * * throws Exception */ SuppressWarnings(staticaccess) private void initialize() throws Exception { analyzer = new MMAnalyzer()。JE分詞具有支持分詞粒度控制,支持Lucene分詞接口等眾多功能。 本檢索系統(tǒng)采用的分詞技術(shù)為JE分詞。這是因為當漢字的排列組合不同的時候,相同漢字就會出現(xiàn)不用的詞性和不同的詞義;另外,還要考慮到漢字所處的上下文語境。眾所周知,中文是世界上最復雜的語言之一。圖36 提取后的產(chǎn)品圖片 建立索引和初始化數(shù)據(jù)庫 。 } Web系統(tǒng)模塊設(shè)計圖24 搜索請求時序圖5 用戶手冊以及測試結(jié)果 系統(tǒng)運行準備(1)安裝jdk6u11windowsi586p或以上版本(2)設(shè)置環(huán)境變量Path,JAVA_HOME(3),數(shù)據(jù)庫用戶名“root”,密碼“root”(4)導入數(shù)據(jù)庫記錄(5)配置索引文件目錄(6)(免安裝版)(7)將項目war包放到Tomcat的webapps目錄之下(8)(9)將Heritrix項目導入MyEclipse工程 使用Heritrix抓取網(wǎng)頁(1)啟動Heritrix,. Heritrix(2)訪問:8088/,用戶名:“admin”,密碼:“admin”圖25 Heritrix登陸頁面圖26 登陸后主界面(3)新建抓取任務圖27 任務管理界面圖28 配置抓取任務的名字和種子(4)設(shè)置抓取時的處理連。 } /** * 通過從也用戶輸入的關(guān)鍵字,返回一個查詢對象br * 此處構(gòu)造的是一個簡單的TermQuery實例 * * param query * 用戶輸入的關(guān)鍵字 * return */ private Query makeQuery(String query) { TermQuery termQuery = new TermQuery( new Term(all, ()))。 } catch (Exception e) { ()。 i++) { ((i).get(PRODUCT_ID))。 for (int i = 0。 Query query = makeQuery(())。類圖如下:圖22 搜索接口以及實現(xiàn)類圖23 搜索流程圖主要的實現(xiàn)代碼如下: Override public CollectionString doSearch(SearchRequest searchRequest) throws Exception { ArrayListString list = new ArrayListString()。采用Struts2作為整個應用的MVC框架,Hibernate作為持久化技術(shù),并用Spring實現(xiàn)BeanFactory來管理整個應用的Bean實例。 return doc。 (type)。 (category)。 (indextime)。 Field all = new Field(all, text, , )。 text += + ()。 Field type = new Field(PRODUCT_TYPE, (), , )。 Field category = new Field(CATEGORY, (), , )。 Field indextime = new Field(INDEX_TIME, mills + , , )。 Field identifier = new Field(PRODUCT_ID, () + , , )。 // 產(chǎn)品的型號 private static final String PRODUCT_TYPE = type。 // 產(chǎn)品的分類 private static final String CATEGORY = category。 // 產(chǎn)品被簡歷索引的時間 private static final String INDEX_TIME = indextime。ProductIndexer接收ProductDocument返回的Document實例,并將其寫入索引。 /** * 獲得所有產(chǎn)品信息 * return * throws Exception */ public CollectionProduct queryAll() throws Exception。 /** * 刪除產(chǎn)品信息 * param product * throws Exception */ public void delete(Product product) throws Exception。圖19 數(shù)據(jù)的持久化操作接口以及實現(xiàn)類類圖接口代碼如下:public interface ProductDao { /** * 添加產(chǎn)品信息 * param product * throws Exception */ public void create(Product product) throws Exception。圖16 建立索引流程圖 實體對象設(shè)計圖17 實體類圖表1 實體類說明表名稱Product字段字段說明字段類型備注Id產(chǎn)品id主鍵char(32)主鍵Category產(chǎn)品類別varchar(20)Name產(chǎn)品名稱varchar(20)Type產(chǎn)品型號varchar(20)Content產(chǎn)品參數(shù)信息longtextSummary產(chǎn)品信息摘要varchar(255)OriginalUrl產(chǎn)品鏈接varchar(255)ImageUri產(chǎn)品圖片varchar(255)Updatetime建索時間varchar(255) 將數(shù)據(jù)文件轉(zhuǎn)化為對象圖18 對象的提取過程 將對象持久化到數(shù)據(jù)庫 數(shù)據(jù)的持久化是采用Hibernate技術(shù)開發(fā)的,并將Hibernate的所有配置都交給以Spring為基礎(chǔ)的BeanFactory管理。 //將圖片信息寫入文件 (new_iamge_file + NEWLINE)。 // 利用miorr目錄下的圖片生成的新的圖片 (imgUrl, new_iamge_file)。 //圖片類型 fileType = ().substring((.) + 1)。 ImageTag imgNode = (ImageTag) ().elements() .nextNode()。 it = ()。 String fileType = 。 } // 重置Parser ().reset()。 //將屬性和對應的值寫入文件 (() + ())。 NodeList attValueNodeList = attValueParser .parse(attributeValue_filter)。 (GB2312)。 //獲得屬性節(jié)點 attName = ().nextNode() .toPlainTextString()。 (())。 attNameParser = new Parser()。 it = ()。 String attValue = 。 NodeFilter attributeValue_filter = new AndFilter(new TagNameFilter( span), new HasAttributeFilter(class, gn_sp2))。 Parser attValueParser = null。//型號 } // 重置Parser ().reset()。//產(chǎn)品地址 (names[0] + NEWLINE)。 String url = :/ + url_seg。 String url_seg = ().substring(startPos)。 // 創(chuàng)建要生成的文件 bw = new BufferedWriter(new FileWriter(new File(this .getOutputPath() + title + .txt)))。 i++) (names[i]).append()。 for (int i = 0。 while (()) { Node node = (Node) ()。 NodeIterator it = ()。 NodeFi
點擊復制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1