用 php 構(gòu)建自定義搜索引擎
來源:易賢網(wǎng) 閱讀:540 次 日期:2015-08-12 15:09:58
溫馨提示:易賢網(wǎng)小編為您整理了“用 php 構(gòu)建自定義搜索引擎”,方便廣大網(wǎng)友查閱!

雖然 google 及其系列產(chǎn)品幾乎無所不能,但是 web 形式的強(qiáng)大搜索引擎并不能很好地適用于每個站點。如果站點內(nèi)容已被高度專業(yè)化或已明確分類,那就需要使用 sphinx 和 php 來創(chuàng)建一個優(yōu)化的本地搜索系統(tǒng)。

在 internet 時代,人們希望信息能夠像快餐一樣被打包起來:能夠快速無障礙使用,并且分為很小的單位(或者是以字節(jié) 大小為單位?)。實際上,為了滿足急躁而又渴求信息的用戶的需求,甚至最普通的 web 站點現(xiàn)在都要求具有快速瀏覽樣式的各種菜單:

·rss 是比薩快遞員,會把新鮮出爐的比薩送上門。

·網(wǎng)絡(luò)日志是當(dāng)?shù)氐闹胁宛^,為您獻(xiàn)上喜愛的風(fēng)味菜肴。

·論壇是家常便飯(或者可能更恰當(dāng)?shù)卣f,“動物屋” 中搶奪食物的場景)。

·而搜索就像在當(dāng)?shù)氐牟蛷d吃自助晚餐一樣:不斷將想吃的食物填滿盤子就行,只要您的食道 —— 還有您的椅子 —— 撐得住。

幸運(yùn)的是,php 開發(fā)人員可以找到各種 rss、blog 和論壇軟件來創(chuàng)建或者改進(jìn)站點。而且,雖然 google 和其他搜索站點幾乎無所不能并且執(zhí)行過濾通信,但是搜索引擎并不一定會良好地適應(yīng)各個站點。

例如,如果 web 站點提供成百上千的全新和翻新的保時捷汽車零件,google 可能通過諸如 “carrera parts” 之類的廣義搜索找到您的站點,但是對于更具體的 “used 1991 porsche 911 targa headlight bezel” 查詢,它可能不會得到精確結(jié)果。

如果站點內(nèi)容高度專業(yè)化,或者訪問者期望搜索功能與現(xiàn)實工作流類似,那么最好在 web 的全局搜索引擎基礎(chǔ)上增加一個為您的站點量身定做的本地搜索系統(tǒng)(有關(guān)專業(yè)化搜索的更多實例,請參閱 “a needle in a billion haystacks”)。

通過本文了解如何向 php 站點中添加一個快速、高效、開源和免費(fèi)的搜索引擎。本文沒有開發(fā)可見的 web 站點。相反,重點討論交付有效搜索結(jié)果所需的組件:數(shù)據(jù)庫、索引、搜索引擎和 php 應(yīng)用程序編程接口 (api)。

訪問優(yōu)秀的 sphinx

要為站點提供自定義搜索功能,您必須有數(shù)據(jù)源和搜索該數(shù)據(jù)源的功能。對于 web 應(yīng)用程序,數(shù)據(jù)源通常是一個關(guān)系數(shù)據(jù)庫,其中內(nèi)置了一些搜索功能(equality 是一個簡單的搜索運(yùn)算符,與 sql 運(yùn)算符 like 一樣)。但是,一些搜索可能比數(shù)據(jù)庫可以執(zhí)行的搜索更加具體,或者搜索可能過于復(fù)雜,而導(dǎo)致固有的 sql join 反應(yīng)遲鈍。

海底撈針

許多站點提供特定于某一個行業(yè)、職業(yè)或者娛樂的內(nèi)容,例如醫(yī)藥、法律、音樂和汽車維修。深入研究這些內(nèi)容可能要求使用特殊工具或者培訓(xùn),或者僅需要使用一個索引來生成相關(guān)的實用結(jié)果。

下面是一些需要定制搜索系統(tǒng)的常見搜索場景:

·查找 joe hockey 所撰寫的關(guān)于斯坦利杯 (stanley cup) 的所有文章。

·查找 hp laserjet 3015 all-in-one 打印機(jī)的最新驅(qū)動程序。

·查找 dinosaur jr. 參與大衛(wèi)深夜脫口秀節(jié)目的電視片段。

要加速搜索,您可以重新安排表,并由此簡化底層查詢(表和 sql 查詢優(yōu)化高度依賴于模式和引擎??赏ㄟ^在線搜索查找有關(guān)數(shù)據(jù)庫性能的各種文章和書籍)。此外,您可以添加一個專門化的搜索引擎。應(yīng)用哪種形式的搜索引擎還依賴于數(shù)據(jù)的形式(和數(shù)量)和預(yù)算。有許多選擇可用:您可以將一個 google 工具連接到您的網(wǎng)絡(luò)中,購買 endeca 或其他大型商業(yè)搜索產(chǎn)品,或者嘗試 lucene。但是在很多情況下,使用商業(yè)產(chǎn)品都有點小題大做,或者浪費(fèi)運(yùn)營預(yù)算,并且 lucene 在 2007 年 7 月編寫時并未提供 php api。

作為一個備選方案,考慮一下 sphinx,它是一種開源和免費(fèi)的搜索引擎,可以非常快速地搜索文本。例如,在一個幾乎有 300,000 行及五個索引列

更多信息請查看IT技術(shù)專欄

更多信息請查看網(wǎng)絡(luò)編程
易賢網(wǎng)手機(jī)網(wǎng)站地址:用 php 構(gòu)建自定義搜索引擎
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

2025國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機(jī)號
  • 驗證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機(jī)站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報警專用圖標(biāo)