C#實現的搜索引擎 - Iveely Search Engine

openkk 12年前發布 | 66K 次閱讀 搜索引擎

iveelyse_logo - .png
Iveely Search Engine 是一款純C#實現的搜索引擎。Iveely的中文翻譯:愛為您。英文全稱:I void everything , enjoy loving you! 希望更多的搜索引擎愛好者加入進來,感受分享的快樂。我期望的Iveely目標是,不是給用戶一堆結果讓用戶去發現最適合自己的,我希望是返回的就是用戶 最想要的,用戶完全無需篩選,所以Iveely Search Engine 永遠沒有分頁,更希望它能嵌入機器人思維中,成為人類的良師益友。當然現在依然處于文本搜索階段。

C#實現的搜索引擎 - Iveely Search Engine

上圖是Iveely Search Engine 0.1.0版本的截圖,目前只有文本搜索部分,其余的新聞、視頻等還沒有完全做好,主要是統一的存儲模型沒有找到。下面大致說一個項目的基礎結構:

C#實現的搜索引擎 - Iveely Search Engine

上面主要分為三大塊,剛好對應著Iveely搜索引擎中的三個運行步驟(當您下載程序后的運行方式就是按照上面上個步驟來的)。

1. 找到發布文件夾下的IveelySE.Spider.exe 文件,然后輸入你需要爬行的鏈接。這是A搜索部分。
2 . 當爬行完畢之后,找到文件夾下的IveelySE.Index.exe 然后運行,直到結束。即完成索引。這是B整理部分。
3. 此刻你只需要,運行另外一個文件IveelySE.exe你就可以執行搜索了。搜索的界面你需要部署WebSite的網站,即可。或者你不想這樣的話,你 在不運行IveelySE.exe的情況下,直接運行Iveely.Search.exe 可在本地執行搜索。 這是C服務部分。

下面介紹一下整個解決方案中,各個項目的含義。

"IveelySE", "IveelySE\IveelySE.csproj", 是搜索服務建立部分,搜索的入口是從這里開始的。

"IveelySE.AI", "IveelySE.AI\IveelySE.AI.csproj", 搜索的人工智能部分,類似于專家系統。例如輸入101+90=?就是通過這個項目計算出來的。

"IveelySE.Classify", "IveelySE.Classify\IveelySE.Classify.csproj",是搜索引擎中文本分類(聚類)的實現部分。

"IveelySE.Common", "IveelySE.Common\IveelySE.Common.csproj",是搜索引擎中共用部分的提取。

"IveelySE.Config", "IveelySE.Config\IveelySE.Config.csproj", 是搜索引擎中的配置部分,盡可能的配置在這個項目中實現。

"IveelySE.Grammar", "IveelySE.Grammar\IveelySE.Grammar.csproj", 是搜索引擎中的語法分析部分,例如:site、filetype等等。

"IveelySE.Index", "IveelySE.Index\IveelySE.Index.csproj", 是搜索引擎中的索引部分,原數據的整理主要在這里實現,倒排序等也是。

"IveelySE.Liquidate", "IveelySE.Liquidate\IveelySE.Liquidate.csproj",是語言處理部分,例如停用詞過濾、敏感詞等等的處理。

"IveelySE.Segment", "IveelySE.Segment\IveelySE.Segment.csproj", ISE中的分詞部分,包含詞庫分詞和隱馬爾可夫分詞。

"IveelySE.Server", "IveelySE.Server\IveelySE.Server.csproj", ISE中關于網絡通信傳輸部分。

"IveelySE.Spider", "IveelySE.Spider\IveelySE.Spider.csproj", 這是網絡爬蟲,即數據搜集部分。

"IveelySE.IDFS", "IveelySE.IDFS\IveelySE.IDFS.csproj", 這是分布式文件系統部分,包括MapReduce的實現都將在此(此版本無效)。

"IveelySE.BigData", "IveelySE.BigData\IveelySE.BigData.csproj", 這是大數據處理部分(此版本無效)。

"IveelySE.BigData.Common", "IveelySE.BigData.Common\IveelySE.BigData.Common.csproj", 大數據處理的共同引用部分(此版本無效)。

"IveelySE.BigData.FileSystem", "IveelySE.BigData.FileSystem\IveelySE.BigData.FileSystem.csproj",大數據處理的虛擬文件系統(此版本無效)。

"IveelySE.BigData.MasterNode", "IveelySE.BigData.MasterNode\IveelySE.BigData.MasterNode.csproj", 大數據存儲的主節點部分(此版本無效)。

"IveelySE.BigData.StoreNode", "IveelySE.BigData.StoreNode\IveelySE.BigData.StoreNode.csproj", 大數據存儲的子節點部分(此版本無效)。

"IveelySE.Search", "IveelySE.Search\IveelySE.Search.csproj", 搜索的本地實現部分,無需Web,只要用于內部調試。

"IveelySE.Web", "IveelySE.Web\IveelySE.Web.csproj",搜索的Web端實現,界面采用ask的界面。

這是 Iveely Search Engine的大致一個介紹,當然,IveelySE一定沒有你想象中的那么好,因為目前處于0.1.0低版本階段 ,無數的錯誤或者Bugs一定會讓大家崩潰,但是請您放心,我們(更多的熱愛開源事業的人士)會積極的修改其中的Bug,當然項目中也參雜了其它開源項目 的東西,例如:Html分析采用的是HtmlAgilityPack。希望和更多地朋友一起分享我們的快樂。謝謝大家!項目主頁:http://iveelyse.codeplex.com/

 本文由用戶 openkk 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!