《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于Java編程的校內搜索軟件的設計
基于Java編程的校內搜索軟件的設計
來源:微型機與應用2012年第23期
孫文華
(南昌工程學院 網絡信息中心,江西 南昌 330099)
摘要: 如何在各高校內部成百上千個資源站點中,快速有效地查找到所需信息成為網絡用戶面臨的一個突出問題。為此提出了一款校內搜索引擎軟件的設計,解決了當前各高校大學生對本校信息難于快速有效獲取的問題。
Abstract:
Key words :

摘  要: 如何在各高校內部成百上千個資源站點中,快速有效地查找到所需信息成為網絡用戶面臨的一個突出問題。為此提出了一款校內搜索引擎軟件設計,解決了當前各高校大學生對本校信息難于快速有效獲取的問題。
關鍵詞: Java;校內;搜索引擎;設計

 當前,面對浩瀚的網絡資源,搜索引擎為所有網上沖浪的用戶提供了一個入口,所有的用戶都可以借助于搜索引擎到達自己想去的網上任何一個地方。隨著Internet的快速發展,海量信息和人們獲取所需信息能力之間的矛盾日益明顯,在信息海洋里查找信息,如同大海撈針一樣,而搜索引擎的出現正好解決了這一難題。
目前高校校內信息量的不斷增加,面對浩瀚的網絡信息,選擇資源范圍廣而針對性不強,很難搜到符合自己的資源。針對這種情況,本文提出了一款校內搜索軟件的設計與實現方法。該軟件采用Java語言開發,是一款簡易且實用的校內搜索引擎軟件。
1 設計原理
 搜索引擎系統[1]通常是指互聯網信息檢索系統。本系統是建立在通過網絡爬蟲軟件抓取大量的網絡資源的基礎上進行開發設計的,系統通過對抓取的網頁文件進行智能提取、去標注、內容分析等處理,再經過索引加載建立索引數據庫。用戶可以通過搜索頁面查詢索引數據庫,返回包含所有匹配查詢關鍵詞的網頁[2]。
校內搜索引擎軟件的設計原理如圖1所示,其原理如下:(1)通過網絡爬蟲軟件抓取網頁內容;(2)從抓取的網頁文件中獲取索引表,索引表內容為每個文件的序號與網址信息,得到網頁文件庫里面的內容即為網頁文件;(3)對得到的網頁文件庫進行處理,使用正則表達式去除網頁標注信息,得到的新內容存放在一個新的文件夾中,作為內容信息庫;(4)根據網頁文件庫和索引表,得到一個新的文件(也稱為標題和網址信息庫),其里面的內容為每個文件的序號、標題和網址等信息;(5)當用戶需要查找自己需要的信息時,只要輸入關鍵詞,搜索引擎軟件根據用戶輸入的關鍵詞在內容信息庫中進行查找[3],如果內容信息庫中存在用戶查找的內容,軟件將根據給內容所在的文件序號,在標題和網址信息庫中提取出該內容所在的標題與網址等信息,最后再加上內容信息庫中與關鍵詞相關的內容信息作為查找的結果顯示出來。

2 具體算法實現
 搜索引擎軟件開發環境:Myeclipse平臺,使用Java語言。首先可以Myeclipse平臺新建一個java project,在新建的project中需要導入下面一些相關的文件:
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
 搜索引擎軟件中獲得搜索結果的搜索函數核心代碼如下:    
    //根據用戶輸入的關鍵詞,在相應的庫中進行搜索,并返回搜索結果信息
    private static String search(String[] str, int n, String filepath)
    {
        String all=null;
        File file=new File(filepath);
        try{
            String[] filelist=file.list();
            for(int i=0,flen=filelist.length;i<flen; i++)
            {
                File readfile=new File(filepath+"\\"+
 filelist[i]);
                String upname=readfile.getName();
                upname=upname.substring(0,upname.length
()-4);//去掉文件名中的.txt用于后面找網址
                BufferedReader br=new BufferedReader
(new FileReader(
                            readfile));
                String s="", ss=br.readLine();
                while (ss != null)
                {
                    s=s+ss;//s中存放文件內容的信息
                    ss=br.readLine();
                }
                //判斷當前讀入的記錄行中是否有
      //輸入的關鍵詞,輸入了幾個關鍵詞
                switch (n)
                {
                    case 1://1個關鍵詞的情況
                        int end=s.indexOf(str[0]);
                        if (end != -1)
                        {
                            upname=Url(upname);
//獲取存標題與網址信息
                            s=s.substring(end, 20);
//取關鍵字后的20個字符
                            all=all+"\n"+upname+"
關鍵字內容:"+s;
                                flag=1;
                                break;
                            } else
                                break;
                    case 2://2個及多個關鍵詞的情況
                            ......
                }
                br.close();//一定要關閉資源
            }
    } catch (FileNotFoundException e)
    {
        e.printStackTrace();
    } catch (IOException e)
    {
        e.printStackTrace();
    }
    return all;
 }
 搜索函數中調用的其他主要函數代碼如下:
    // 通過傳遞的文件名參數,在文件TitleInfo中查找得到與此文件名對應的標題信息+網址信息
    public static String Url(String filename)
    {
        String filepath="D:\\test\\TitleInfo\\TitleInfo.txt";
        File file=new File(filepath);
        String url="";
        try
        {
            BufferedReader br=new BufferedReader(new
 FileReader(file));
            String s=br.readLine();//讀入第一行信息
            while (s !=null)
            {
             if(s.indexOf(filename)!=-1)
                {
            url=s.substring(s.indexOf("標題"),s.length());
              //取該行標題后的信息
                    break;
                } else
                s=br.readLine();//讀入下一行的信息
            }
            br.close();//一定要關閉資源
        } catch (FileNotFoundException e)
        {
            e.printStackTrace();
        } catch (IOException e)
        {
            e.printStackTrace();
        }
        return url;
    }
 至此,完成了搜索引擎軟件代碼的編寫工作,接下來可以進行run操作(即可以在指定內容信息庫與標題和網址信息庫中進行操作),返回用戶查找的相關網頁文件的序號、標題、網址和主要內容等信息的結果。
3 實驗結果分析
 內容信息庫的存放路徑為D:\test\ContentInfo;內容信息庫中的內容如圖2所示。標題和網址信息庫的存放路徑為D:\test\TitleInfo;文件庫中存放了標題和網址信息文件,文件名為TitleInfo.txt,其內容如圖3所示。

 運行該搜索引擎軟件,得出的輸出結果如圖4所示。

 由圖4可以看到,通過該系統可以把待測文件中臟字及臟詞組出現的次數全部顯示出來,其結果與實際情況完全一致。
 針對當前網絡在高校的應用越來越普及,校內網絡中的資源也越來越多,而目前市場上的搜索軟件(如百度、谷歌的)又難以滿足實踐的需要,并且有些搜索軟件比較昂貴。本文在基于這些問題的情況下進行研究 與分析,提出了校內網絡資源搜索軟件的設計方法,并在Myeclipse環境下通過Java語言實現了這種方法,為高校校內網絡資源的搜索提供了一種方法。另外,可以在此基礎上進行二次開發,作者就在此基礎上完成了Web界面上的搜索(類似百度的功能)。本軟件在南昌工程學院已開始試用,如圖5所示。

 根據本文的設計原理,用戶可以根據自己的實際需要,在界面上改進與調整。
參考文獻
[1] 梁斌.走進搜索引擎[M].北京:電子工業出版社,2007.
[2] 宋春陽.Web搜索引擎技術綜述[J].現代計算機,2008(5).
[3] 徐寶文.搜索引擎與信息獲取技術[M].北京:清華大學出版社,2003.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲国产日韩在线| 亚洲免费视频成人| 欧美区高清在线| 欧美影视一区| 一区二区三区四区国产精品| 日韩写真视频在线观看| 国内成人精品2018免费看| 欧美私人啪啪vps| 另类图片国产| 亚洲嫩草精品久久| 亚洲欧洲中文日韩久久av乱码| 亚洲男女自偷自拍| 亚洲免费中文| 欧美一区精品| 久久精品女人的天堂av| 亚洲国产精品精华液2区45| 久久精品三级| 亚洲欧洲一区二区天堂久久 | 午夜精品三级视频福利| 午夜精品福利电影| 欧美在线国产| 91久久久久久国产精品| 日韩一级成人av| 亚洲男同1069视频| 久久成人18免费网站| 久久免费视频网站| 欧美成人性生活| 欧美日韩情趣电影| 国产精品你懂的| 国产午夜精品全部视频在线播放| 国内精品美女av在线播放| 亚洲成色777777在线观看影院| 亚洲国产裸拍裸体视频在线观看乱了中文| 18成人免费观看视频| 亚洲三级影片| 亚洲午夜精品一区二区| 欧美一区亚洲一区| 亚洲国产婷婷香蕉久久久久久99 | 国产精品美女久久久久av超清| 国产欧美精品一区aⅴ影院| 狠狠久久五月精品中文字幕| 亚洲成色精品| 亚洲深夜福利在线| 久久国产日本精品| 亚洲最新在线视频| 欧美一级日韩一级| 猫咪成人在线观看| 欧美性jizz18性欧美| 国产一区二区三区视频在线观看| 激情成人av在线| 亚洲精品久久久久久久久| 亚洲天堂av图片| 久久精品一区二区| 亚洲午夜日本在线观看| 久久精品国产清自在天天线| 欧美国产精品劲爆| 国产精品欧美日韩一区| 1024精品一区二区三区| 亚洲专区免费| 日韩一区二区精品| 久久精品91| 欧美日韩视频专区在线播放 | 欧美午夜一区二区福利视频| 韩国av一区二区三区| 日韩一区二区高清| 久久精品夜夜夜夜久久| 亚洲免费影视第一页| 牛人盗摄一区二区三区视频| 国产精品人人做人人爽人人添| 亚洲国产一区在线| 亚洲欧美一区二区激情| 亚洲人屁股眼子交8| 欧美一区二区视频97| 欧美激情小视频| 国产一区久久| 在线视频亚洲一区| 亚洲精品久久久久中文字幕欢迎你 | 亚洲一区二区三区四区五区午夜 | 亚洲国产日韩一级| 久久99伊人| 亚洲欧美日韩国产一区二区三区 | 欧美日韩国产二区| 一区二区三区在线观看欧美| 中文在线资源观看网站视频免费不卡| 最新国产精品拍自在线播放| 久久久久成人精品免费播放动漫| 欧美性淫爽ww久久久久无| 亚洲经典在线| 91久久久亚洲精品| 久久在线视频在线| 国产日韩精品视频一区| 亚洲视屏在线播放| 在线综合亚洲欧美在线视频| 欧美成人在线免费观看| 极品中文字幕一区| 欧美一区二区三区免费观看| 午夜精品一区二区三区在线| 欧美三级午夜理伦三级中视频| 亚洲人成小说网站色在线| 亚洲黄色av| 免费成人毛片| 在线观看的日韩av| 亚洲国产日韩在线| 久久综合九色综合网站| 国产亚洲一区在线| 午夜一区在线| 性欧美暴力猛交69hd| 国产精品美女xx| 亚洲你懂的在线视频| 香蕉成人啪国产精品视频综合网| 欧美系列精品| 亚洲午夜未删减在线观看| 一区二区激情视频| 欧美日韩精品二区第二页| 亚洲精品色图| 亚洲午夜久久久久久久久电影院 | 日韩亚洲综合在线| 欧美久久久久久久久久| 亚洲理论在线| 中文在线资源观看网站视频免费不卡 | 国产精品福利av| 亚洲视频免费在线观看| 亚洲欧美第一页| 国产精品日韩一区二区三区| 亚洲淫片在线视频| 欧美在线播放| 国产欧美日韩综合一区在线播放 | 欧美一级电影久久| 久久久国产精品一区二区中文| 国产一区二区三区久久悠悠色av| 久久国产一区| 欧美成人免费全部| 亚洲卡通欧美制服中文| 亚洲欧美日韩高清| 国产一区二区三区在线观看免费| 久久成人av少妇免费| 免费不卡在线视频| 亚洲精品美女久久久久| 亚洲天堂网在线观看| 国产精品久久午夜| 先锋影音网一区二区| 美女网站在线免费欧美精品| 亚洲片国产一区一级在线观看| 国产精品99久久久久久久女警 | 亚洲成色精品| 亚洲人成啪啪网站| 夜夜爽夜夜爽精品视频| 欧美午夜欧美| 校园激情久久| 免费精品99久久国产综合精品| 亚洲精品一区二区三区蜜桃久| 亚洲男人天堂2024| 国语自产精品视频在线看8查询8| 亚洲另类视频| 国产精品男女猛烈高潮激情| 久久精品一本久久99精品| 欧美日韩1234| 性高湖久久久久久久久| 农村妇女精品| 亚洲一品av免费观看| 久久婷婷麻豆| a91a精品视频在线观看| 一本色道久久99精品综合| 亚洲欧美国内爽妇网| 久久精品国产99精品国产亚洲性色 | 久久精品一区中文字幕| 欧美黄在线观看| 亚洲一区二区在线免费观看| 久久在线免费| 一区二区高清在线观看| 久久精品国产免费看久久精品| 亚洲黄色高清| 午夜在线观看免费一区| 在线观看亚洲| 香港成人在线视频| 亚洲黄色在线视频| 欧美一区二区三区在线看| 亚洲日本中文字幕区| 欧美在线观看一二区| 亚洲区欧美区| 久久精品中文字幕一区二区三区 | 亚洲国产精品999| 国产精品v日韩精品| 亚洲国产精品v| 国产精品另类一区| 亚洲麻豆国产自偷在线| 国产一区二区三区av电影| 在线视频亚洲一区| 精久久久久久久久久久| 午夜精品影院在线观看| 亚洲黄色小视频| 久久久国产91| 亚洲一区尤物| 欧美日韩国产精品一区| 亚洲第一精品在线| 国产精品视频一区二区高潮| 9l国产精品久久久久麻豆| 国内外成人免费视频| 香蕉亚洲视频| 在线中文字幕日韩|