Lucene search engine based on Douban movie data.
https://search.andrewpqc.xyz/service/
目錄樹如下圖

1.根目錄下的lib目錄內的內容為代碼所依賴的jar包
2.根目錄下的out目錄下的內容為編譯輸出的內容,可以將其打包並發布
3.根目錄下src為源代碼目錄,也是實現功能的主要目錄,下面是對該目錄下的包的介紹:
indexer包下的LuceneIndex.java :利用Lucene創建索引的demo
retrieval包下的LuceneRetrieval.java :利用Lucene進行檢索的demo
main包是應用程序使用的核心文件, SearchUtil.java將Lucene的索引創建與各種類型的檢索組織成了類成員函數,以在JSP文件中直接調用。主要包括索引建立,單字段查詢,多字段聯合查詢,模糊查詢,基於範圍的查詢等。 SearchTest.java是上述函數的測試文件。
其他的tester , other包下的內容為本人開發過程中進行小測試時書寫的代碼,與app功能的實現並無直接關係,不可不必理會。
4.根目錄下web目錄下的內容為JSP頁面
此搜索引擎基於之前爬取的8000餘條豆瓣電影的數據,下面是數據庫結構和單條數據模板的介紹表格:
| 字段 | 描述 | 樣例數據 |
|---|---|---|
| name | 片名 | 肖申克的救贖The Shawshank Redemption |
| Screenwriter | 編劇 | 弗蘭克·德拉邦特,斯蒂芬·金 |
| actor | 主演 | 蒂姆·羅賓斯,摩根·弗里曼,鮑勃·岡頓,威廉姆·賽德勒,克蘭西·布朗,吉爾·貝羅斯,馬克·羅斯頓,詹姆斯·惠特摩,杰弗裡·德曼,拉里·布蘭登伯格,尼爾·吉恩托利,布賴恩·利比,大衛·普羅瓦爾,約瑟夫·勞格諾,祖德·塞克利拉 |
| type | 類型 | 劇情,犯罪 |
| country | 國家 | 美國 |
| displaytime | 上映時間 | 1994-09-10 ,多倫多電影節 |
| score | 評分 | 9.6 |
| othername | 別名 | 月黑高飛(港),刺激1995(台),地獄諾言,鐵窗歲月,消香克的救贖 |
| shortcut | 簡介 | 20世紀40年代末,小有成就的青年銀行家安迪(蒂姆·羅賓斯Tim Robbins 飾)因涉嫌殺害妻子及她的情人而鋃鐺入獄。在這座名為肖申克的監獄內,希望似乎虛無縹緲,終身監禁的懲罰無疑注定了安迪接下來灰暗絕望的人生。未過多久,安迪嘗試接近囚犯中頗有聲望的瑞德(摩根·弗里曼Morgan Freeman 飾),請求對方幫自己搞來小錘子。以此為契機,二人逐漸熟稔,安迪也彷彿在魚龍混雜、罪惡橫生、黑白混淆的牢獄中找到屬於自己的求生之道。他利用自身的專業知識,幫助監獄管理層逃稅、洗黑錢,同時憑藉與瑞德的交往在犯人中間也漸漸受到禮遇。表面看來,他已如瑞德那樣對那堵高牆從憎恨轉變為處之泰然,但是對自由的渴望仍促使他朝著心中的希望和目標前進。而關於其罪行的真相,似乎更使這一切朝前推進了一步……本片根據著名作家斯蒂芬·金(Stephen Edwin King)的... |
| url | 詳情頁鏈接 | https://movie.douban.com/subject/1292052/ |
安裝docker,運行下面的兩條命令:
docker pull pqcsdockerhub/searchengine-image
docker run -d -p 8081:8080 pqcsdockerhub/searchengine-image然後打開瀏覽器,訪問https://localhost:8081/service/即可訪問到封裝好的服務。
注:服務初次運行,首先需要訪http://localhost:8081/service/nobodyknows.jsp 。訪問此url,讓程序在後台連接數據庫,並且進行索引建立的工作,之後搜索服務即可正常運行。