PHP怎么實現中文全文搜索?這個問題可能是我們日常工作經常見到的。通過這個問題,希望你能收獲更多。今天跟隨小編一起來看解決方案吧。

一般的開發中的相關文章或內容都是通過關鍵詞標簽、標題來實現相關搜索的,但這樣是搜索基本會使用低效的like語句,由于效率低下在稍微大一點的項目開發中我們無法進行文章或者相關內容的詳情字段搜索(服務器壓力過大、效率極低)。
常見的解決方案
1、sphinx + coreseek
優點 : 技術成熟、穩定
缺點 : sphinx 不支持中文 coressk 目前已經停止維護【如果是純英文環境 sphinx 極佳】
2、迅搜(Xunsearch)
優點 : 技術成熟、穩定
缺點 : 安裝過程復雜,配置不夠靈活
3、mysql 全文搜索
有點:安裝方便、效率高
缺點:對中文支持不夠好
來自hcoder的解決方案 (分詞 + 自主配置)
優點 : 安裝簡單(php 組件)、底層由開發者自行編寫更清晰底層、更容易的優化
缺點 : 需要開發者有 php + mysql 基礎,需要自己編寫整個過程的代碼
原理
1、獲取詞語環節 文章數據表 -> 逐行讀取文章信息 -> 組合所有文字內容 -> 分詞、去重 -> 記錄到新的數據表 2、搜索環節 搜索關鍵字記錄表 -> 合并文章數據 -> 去重 -> 展示數據
使用到的第三方組件(scws)
http://www.xunsearch.com/scws/
SCWS 是 Simple Chinese Word Segmentation 的首字母縮寫(即:簡易中文分詞系統)。
這是一套基于詞頻詞典的機械式中文分詞引擎,它能將一整段的中文文本基本正確地切分成詞。 詞是中文的最小語素單位,但在書寫時并不像英語會在詞之間用空格分開, 所以如何準確并快速分詞一直是中文分詞的攻關難點。
SCWS 采用純 C 語言開發,不依賴任何外部庫函數,可直接使用動態鏈接庫嵌入應用程序, 支持的中文編碼包括 GBK、UTF-8 等。此外還提供了 PHP 擴展模塊, 可在 PHP 中快速而方便地使用分詞功能。
分詞算法上并無太多創新成分,采用的是自己采集的詞頻詞典,并輔以一定的專有名稱,人名,地名, 數字年代等規則識別來達到基本分詞,經小范圍測試準確率在 90% ~ 95% 之間, 基本上能滿足一些小型搜索引擎、關鍵字提取等場合運用。首次雛形版本發布于 2005 年底。
SCWS 由 hightman 開發, 并以 BSD 許可協議開源發布,源碼托管在 github。
看完上述內容,你們掌握PHP實現中文全文搜索的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注創新互聯成都網站設計公司行業資訊頻道,感謝各位的閱讀!
另外有需要云服務器可以了解下創新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
當前題目:PHP怎么實現中文全文搜索-創新互聯
URL網址:http://www.yijiale78.com/article36/psopg.html
成都網站建設公司_創新互聯,為您提供手機網站建設、云服務器、網站改版、品牌網站設計、電子商務、網站制作
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯