

摘 要:為向網絡文學創作者提供開放的網絡信息平臺,本文引入兩種廣泛應用的搜索引擎技術——全文索引和目錄索引,基于這兩種技術提出網絡創作及學習資料共享平臺的設計思路,并詳細敘述了網絡創作平臺的實現。該平臺采用開放源碼的軟件工具包Lucene,Struts2、Hibernate框架進行設計制作,并通過全文搜索、目錄搜索等技術實現網絡作品的發布、查閱,以及學習和交流資源的信息共享。此類共享平臺的設計,為文學用戶提供了參與網絡創作的渠道,使文學的創作和閱讀、創作與交流實現了網絡互動,既豐富了文學創作的形態,也促進了網絡文學的發展。
關鍵詞:全文索引;目錄索引;Lucene;Struts2;Hibernate;網絡創作平臺
中圖分類號:TP315 文獻標志碼:A 文章編號:1673-8454(2013)15-0024-03
一、引言
在網絡載體的傳播下,文學創作中增加了“網絡文學”這一信息形式。網絡文學,指以互聯網為展示平臺和傳播媒介,借助超文本鏈接和多媒體演繹等手段來表現的文學作品、類文學文本及含有一部分文學成分的網絡藝術品。隨著互聯網技術的迅速發展,網絡文學愛好者的不斷增加極大地促進了網絡文學的創作發展,也增大了文學作品的共享需求。網絡文學經歷了從BBS 到文學網站、博客、SNS 社區的平臺形式上的轉變,各種平臺形式在不同時期形成各自的特點,分別扮演著不同的角色,見證了網絡文學發展的整個歷程。[1]
由于網絡文學具有讀者可直接參與創作的特性,吸引了大量的愛好者和創作者,其中就有為數不少的大學生文學創作愛好者。近年來許多文學網站的創建和個人博客的興起,為文學創作者和愛好者提供了眾多的網絡平臺,如晉江原創網、起點中文網、小說閱讀網、榕樹下等等。但由于多數文學網站面向所有文學創作愛好者,使文學作品種類和數量過多,有時某些新創作的文學作品還沒被用戶搜索到就已被其它類似的新作品給淹沒了。如何在海量的網絡文學中,搜索專門的文學作品,提高用戶的搜索速率、效率,成為網絡創作平臺急需解決的問題。[2]
Lucene是一套用于全文檢索和搜尋的開源程式庫,提供了功能比較強大的應用接口,能夠進行全文索引和搜尋。[3]我們通過應用Java開發環境里的Lucene開源工具,進行Java資源檢索庫應用,設計并實現了以Struts2和Hibernate為框架的網絡創作及學習資料共享平臺。該平臺實現了網絡文學的創作和學習資料共享兩方面功能,并改變傳統的直接索引數據庫模式,采用Lucene實現對數據庫的索引并建立索引庫,從而提高用戶的搜索速率。
二、全文索引分析
1.全文索引模式簡述
搜索引擎搜索的過程分為三個步驟:①捕獲網頁,每個獨立的搜索引擎都有自己的網頁捕獲程序。網頁捕獲程序順著網頁中的超鏈接,連續地捕獲網頁。被捕獲的網頁被稱之為網頁快照,由于互聯網中超鏈接的應用很普遍,理論上,從一定范圍的網頁出發,就能搜集到絕大多數的網頁。②處理網頁,搜索引擎抓到網頁后,還要做大量的預處理工作,才能提供檢索服務。其中,最重要的就是提取關鍵詞,建立索引文件。其他還包括去除重復網頁、中文分詞、判斷網頁類型、分析超鏈接、計算網頁的重要度/豐富度等。③提供檢索服務,用戶輸入關鍵詞進行檢索,搜索引擎從索引數據庫中找到匹配該關鍵詞的網頁;為了用戶便于判斷,除了網頁標題和URL外,還會提供一段來自網頁的摘要以及其他信息。[4、5]
2.全文索引與目錄索引技術
全文索引作為目前應用廣泛的搜索方式之一,主要從互聯網提取各個網站的信息(以網頁文字為主),建立數據庫,并能檢索與用戶查詢條件相匹配的記錄,按一定的排列順序返回結果。全文索引擁有自己的網頁抓取、索引、檢索系統,獨立的“蜘蛛”(Spider)程序,能自建網頁數據庫,搜索結果直接從自身數據庫中調用。目錄索引將目錄分類的網站鏈接列表,用戶按照分類目錄找到所需要的信息,不依靠關鍵詞進行查詢,因而搜索的準確性大大提高。[6、7]
三、平臺的設計與實現
1.系統結構設計
基于以上技術的分析,我們設計了基于Lucene的網絡創作及學習資料共享平臺。[8、9]該網絡平臺以Struts2和Hibernate為框架,為網絡文學創作者,如大學生文學創作者和愛好者,提供免費的網絡創作和交流平臺。該平臺分為三個模塊:用戶服務層模塊、網絡文學創作模塊、數據索引模塊。系統整體結構如圖1所示。
(1)用戶服務層模塊
該層主要為進入文學平臺的入口,也是為用戶提供的接口。它基于B/S模式實現,系統對各類用戶進行整合,使系統管理員、各用戶可以跨平臺訪問該平臺,也可利用該平臺上傳學習和交流資料,并共享給其他用戶,提高用戶在線閱讀和下載學習資料的體驗。
(2)網絡文學創作模塊
它是整個文學創作平臺的核心部分。它與數據庫的鏈接由Struts2和Hibernate整合而來,Struts2是一個相當強大的Java Web開源框架,是一個基于POJO的Action的MVC Web框架。Structs2基于MVC架構,結構清晰,開發流程一目了然。文學創作模塊將用戶上傳的TXT、Word、Excel、PPT、PDF等文檔資料用OpenOffice+JodConverter轉換成PDF文件再通過pdf2swf格式,最后通過FlexPaper實現在線瀏覽,實現類似百度文庫的功能。同時,平臺還支持多文件存儲形式,將大文件劃分成很多小文件,按每一章節對應一文本文件的方式存儲。為方便創作者在修改某章節內容時不需修改所有章節內容,只需找到與之對應的文本進行修改,從而使系統的性能提高。
為了使用戶新上傳的文檔能夠及時被其他用戶搜索到,而不用長時間等待,可采用Java多線程機制來解決上述問題。當用戶上傳一篇文檔后,先存入數據庫,然后開啟另一線程來作為索引,這樣就可以將用戶上傳文檔和索引分開。建立索引對用戶來說是不可見的。在用戶不知不覺中就實現了索引。用戶只需上傳,其他事都是后臺自動做的,對用戶無影響,提高了用戶體驗。Office文檔進行pdf和swf格式轉換也是采用上述方法,對其分別開啟線程,實現后臺自動轉換使用戶無需等待。
(3)數據索引模塊
網絡文學創作平臺采用Hibernate。Hibernate是JDBC的輕量級的對象封裝,它是一個獨立的對象持久層框架。它的工作原理是通過配置文件在Java對象和數據表之間建立起一個映射關系,只需要操作一些基本類,而達到使用數據庫的目的,大大減少操作數據庫的工作量。Hibernate的靈活性在于,它通過配置文件可以抽象底層具體的關系數據庫,也可以有選擇地將數據庫操作預定義在配置文件中,從而可以很好地將持久層和邏輯層進行隔離。
2.系統平臺實現
如圖2所示,系統滿足了用戶進行文檔搜索的要求,改進了現有文檔搜索的方式,通過“Lucene+庖丁”實現對數據庫的索引和分詞并建立索引庫,實現直接對索引庫中的文檔進行索引以加快搜索速率,從而提高搜索效率。通過網絡文學創作平臺,各類用戶在進行網絡文學創作和學習資料共享時,利用索引庫進行文檔索引,達到提高用戶搜索速率。同時,實現文檔的上傳和下載,平臺提供各類文檔格式的閱讀,并在搜索輸入框中使用AJAX實現搜索下拉提示框功能,提高用戶體驗。
基于Lucene的網絡創作及學習資料共享平臺,是大學生交流文學作品的信息應用環境,為大學生愛好者提供了一個文學交流的開放平臺。用戶通過平臺提供的文檔檢索、上傳和下載等服務,能方便快捷地在系統中檢索到自己感興趣的文檔,相比以前的查找、搜索,減少了用戶等待時間,提高了系統檢索效率。各類用戶通過網絡文學創作平臺提供的在線交流和在線閱讀服務,方便了在線學習,從而促進了文學作品的傳播。
四、結束語
網絡創作平臺主要采用將全文索引和目錄索引結合的方式實現搜索引擎應用,基于Struts2和Hibernate的框架系統,是一款面向大學生進行文學創作的開放信息和共享平臺。隨著互聯網技術和Web2.0的不斷發展,檢索系統的優化設計成為越來越重要的需求。搜索引擎對于簡化用戶操作、節省系統資源、促進整個搜索體系的發展具有重要現實意義。?
參考文獻:
[1]王莉,張延松.新世紀文學之網絡文學研究述評[J].沈陽師范大學學報(社會科學版),2008(2):95-97.
[2]劉彥平.關于網絡搜索引擎及其優化的討論[J].電子商務,2011(4):64.
[3]蔡兵,胡敏.基于Lucene2.0的書目搜索引擎設計[J].重慶圖情研究,2009(1):60-63.
[4]陳丹,郭偉青.搜索引擎技術分析與研究[J].計算機系統應用,2008(3):23-26.
[5]趙丹,朱巧明.中文搜索引擎的現狀與展望[J].計算機與農業,2002(6):42-44.
[6]王承君.Web搜索引擎的關鍵技術分析[J].濰坊學院學報,2009(4):27-33.
[7]王巍,曾劍平,吳承榮,張世永.基于網絡搜索引擎的網絡話題分析框架[J].計算機工程,2009(3):257-262.
[8]文振威,秦曉.個性化搜索引擎的研究與設計[J].計算機工程與設計,2009(2):342-344.
[9]張巍.基于PageRank算法的搜索引擎優化策略研究[D].四川大學,2005:79-83.
(編輯:王天鵬)