?cx=014724041144905348996:pf5fnahnzuw&cof=FORID:11&ie=UTF-8&q=危機&sa=搜索&siteurl=lusongsong.com/ 優點: 省心,沒有比這個再省心的了.你啥都不用管.谷歌都是自家的了,人家的搜索算法,那怎么是咱們能比得了的呢.  缺點: 1.需要使用IFRAME,或者直接打開谷歌的頁面,或者用更復雜的API來實現. 2.只能按照文本搜索,只能全站搜索.我要想在某個頻道下,搜索指定類型的文章等要求谷歌就不能實現了.一句話,就是不能自定義. 3.如果你的網站小,谷歌人家都不帶收錄你,啥也搜不出來你咋辦? (三) lucene 全世界最好的開放源代碼搜索引擎  呃…沒啥好介紹的,直接看優缺點吧  優點: 完全開放源代碼,完全可以自定義,完全….. 缺點: java寫的,哥不會.你會java?你改個試試  (四) php+MySQL+SCWS 做自己的站內搜索引擎  千呼萬喚始出來!  MySQL支持全文索引和搜索。全文索引在 MySQL 中是一個 FULLTEXT 類型索引。FULLTEXT 索引用于 MyISAM 表,可以在 CREATE TABLE 時或之后使用 ALTER TABLE 或 CREATE INDEX 在 CHAR、VARCHAR 或 TEXT 列上創建。 函數 MATCH() 對照一個文本集(包含在一個 FULLTEXT 索引中的一個或多個列的列集)執行一個自然語言搜索一個字符串。搜索字符串做為 AGAINST() 的參數被給定。搜索以忽略字母大小寫的方式執行。對于表中的每個記錄行,MATCH() 返回一個相關性值。即,在搜索字符串與記錄行在 MATCH() 列表中指定的列的文本之間的相似性尺度。 當 MATCH() 被使用在一個 WHERE 子句中時,返回的記錄行被自動地以相關性從高到低的次序排序。相關性值是非負的浮點數字。零相關性意味著不相似。  在英語環境下,使用PHP和MYSQL就完全能夠建立全文檢索環境.步驟為:  1. 建立內容表,灌入數據,在需要全文檢索的字段上建立FULLTEXT索引  2. 利用MATCH函數執行搜索條件  3. 處理返回的數據,顯示結果  簡單吧。。。  問題是,中文不是自分詞的語言,在MYSQL開來一大段中文就是一個單詞,全文檢索就失效了.解決這個問題的辦法是,在灌入數據和搜索前,利用其他的工具來進行分詞,將大段的中文分隔為一個一個的詞,類似與英文的單詞. 最簡單的工具就是SCWS. 官方站點: http://www.ftphp.com/scws/  SCWS 是 Simple Chinese Words Segmentation 的縮寫,即簡易中文分詞系統。  這是一套基于詞頻詞典的機械中文分詞引擎,它能將一整段的漢字基本正確的切分成詞。詞是漢語的基本語素單位,而書寫的時候不像英語會在詞之間用空格分開,所以如何準確而又快速的分詞一直是中文分詞的攻關難點。 SCWS 在概念上并無創新成分,采用的是自行采集的詞頻詞典,并輔以一定程度上的專有名稱、人名、地名、數字年代等規則集,經小范圍測試大概準確率在 90% ~ 95% 之間,已能基本滿足一些中小型搜索引擎、關鍵字提取等場合運用。 SCWS 采用純 C 代碼開發,以Unix-Like OS 為主要平臺環境,提供共享函數庫,方便植入各種現有軟件系統。此外它支持 GBK,UTF-8,BIG5 等漢字編碼,切詞效率高。  SCWS提供了純PHP代碼編寫的中文分詞類,使它不需要做任何額外的擴展就能在機會所有的服務器上使用.  支持中文的基于PHP+MYSQL的全文檢索的步驟為:  1. 建立內容表(,將數據分詞),灌入數據,在需要全文檢索的字段上建立FULLTEXT索引  2. (將要搜索的內容先分詞再) 利用MATCH函數執行搜索條件  3. 處理返回的數據,顯示結果  仍然是SO EASY!  一個演示的例子: http://www.bnet.com.cn/files/search.php?word=%CA%D5%B9%BA&page=3  執行搜索的語句是: 1 SELECT SQL_CALC_FOUND_ROWS *, MATCH (titlewords, keywords, author, contentwords) AGAINST ('$words') AS matchscore 2 FROM search3 WHERE MATCH (titlewords, keywords, author, contentwords) AGAINST ('$words') > 0.5 4 LIMIT 10 最后: 感謝全世界的開源作者