2010-01-09 82 views
6

你們知道我在哪裏可以找到搜索引擎解析器設計圖嗎? 我需要了解它如何處理用戶輸入。正在使用哪些函數/算法?條件。等等。搜索引擎解析器流程圖

它不一定是谷歌的。

更新後的問題,搜索引擎解析器

回答

6

您需要關於搜索引擎更好地理解第一剖析。通常有

1)一個網絡爬行器,它可以讓你想要添加到你的搜索數據空間的文件。這通常完全超出了你所稱的「搜索引擎」的範圍。

2)一個解析器,它將文檔分解爲可索引的文本片段。如果通常使用不同的文件格式,人類語言和預處理文本可能是一些固定的記錄和流文本。語言學算法(如詞幹分析 - 搜索Porter Stemmer以獲得簡單的算法)也適用於此。

3)索引器可能像每個文檔的單詞倒列表一樣簡單,或者像你想要的那樣複雜,如果你試圖像谷歌一樣聰明。構建索引是成功搜索引擎真正的魔力部分。通常有多個排名算法放在一起。

4)帶有可選查詢語言的前端。這是谷歌真的很糟糕的地方,但正如你可以看到谷歌的成功,對98%的人來說可能並不那麼重要。但我真的很想念這個。

我想你是在索要(3)索引器。基本上,在經典信息檢索文獻中有兩種不同的算法。向量空間模型和布爾搜索。後者很簡單,只需檢查搜索詞是否在文檔中並返回一個布爾值即可。每個搜索項可以給出相關的概率。對於不同的搜索條件,您可以使用貝葉斯概率來總結相關度,並返回排名最高的文檔。矢量模型將文檔視爲所有單詞的矢量,您可以在文檔之間構建標量矢量產品以判斷它們是否靠近在一起 - 這是一個更爲複雜的理論。 IR(信息檢索)的父親是傑拉爾德索爾頓,你會在他的名下找到很多文學作品。

這是1999年以前的IR藝術狀態(1998年我寫了關於一個usenet新聞搜索引擎的文憑論文)。然後谷歌來了,所有的理論進入學術愚蠢和實用無關的垃圾桶。谷歌並沒有建立在主流的IR理論基礎上。請閱讀Srirangan爲您提供的鏈接。它只是一個基於許多不同來源的廣告相關功能。在白皮書營銷blablabla旁邊,您不會在這個區域找到任何東西。這些算法是搜索引擎公司的商業祕密和資本。

對於簡單的搜索引擎來看一下lucence庫或dtsearch,它總是我的一個嵌入式搜索引擎庫的選擇。

在開源世界中,關於IR技術並沒有太多的示例代碼和可用信息。他們中的大多數人都喜歡實施最原始的操作。你必須購買書籍並去大學圖書館才能獲得研究文獻。

文學,我會建議開始與這本書link text alt text http://ecx.images-amazon.com/images/I/41HKJYHTQDL._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA240_SH20_OU01_.jpg

+0

@Lothar感謝非常詳細的解答。你知道任何關於解析器的好文章嗎?解析文本與解析編程語言的編譯器有何不同? – forme 2010-01-10 08:17:18

+0

好的,如果你真的想要語言自然語言處理,你應該閱讀「http://www.amazon.com/Natural-Language-Processing-Python-Steve/dp/0596516495/ref=cm_cr_pr_sims_t」和/或「書面處理在Python中「。這會給你足夠的基本理解,以找到正確的搜索條件谷歌或更多的文學。不幸的是,最有趣的東西不能在線提供。 – Lothar 2010-01-10 10:41:45

+0

我現在好奇:)(去當地大學圖書館...) – forme 2010-01-10 21:33:30