本申請涉及搜索領(lǐng)域,具體而言,涉及一種提高網(wǎng)站站內(nèi)搜索效率的方法和裝置。
背景技術(shù):
在以往網(wǎng)站建設(shè)、企業(yè)信息系統(tǒng)搭建過程中,由于信息結(jié)構(gòu)簡單、內(nèi)容稀缺,站內(nèi)搜索不是網(wǎng)站系統(tǒng)的必要裝備。但隨著Web2.0帶來的海量信息井噴式涌現(xiàn),企業(yè)自身對信息架構(gòu)、管理、發(fā)布的需求,以及用戶對信息的組織、查詢、可尋性的要求越來越高,于是站內(nèi)搜索出現(xiàn)了。
通常情況下,用戶在進行網(wǎng)站站內(nèi)搜索時,如果結(jié)果頁中沒有想要的結(jié)果,會通過改變搜索關(guān)鍵詞的方式繼續(xù)嘗試找到自己想要的結(jié)果。
在用戶找到想要的頁面之前,可能會經(jīng)歷數(shù)次無效的搜索,不能快速找到目標頁面。
針對上述的問題,目前尚未提出有效的解決方案。
技術(shù)實現(xiàn)要素:
本申請實施例提供了一種提高網(wǎng)站站內(nèi)搜索效率的方法和裝置,以至少解決現(xiàn)有技術(shù)中用戶搜索效率比較低的技術(shù)問題。
根據(jù)本申請實施例的一個方面,提供了一種提高網(wǎng)站站內(nèi)搜索效率的方法,包括:從訪問目標網(wǎng)站的訪問日志中,提取表示所述目標網(wǎng)站的站內(nèi)搜索結(jié)果頁的統(tǒng)一資源定位符URL;根據(jù)所述目標網(wǎng)站的站內(nèi)搜索結(jié)果頁的URL,確定用于匹配所述目標網(wǎng)站的站內(nèi)搜索結(jié)果頁的匹配式;從所述訪問日志中提取第一關(guān)鍵詞、第二關(guān)鍵詞、第一搜索結(jié)果頁的URL、第一目標頁面,其中,所述第一關(guān)鍵詞和所述第二關(guān)鍵詞均為用于在所述目標網(wǎng)站進行站內(nèi)搜索的關(guān)鍵詞,所述第一搜索結(jié)果頁為接收到所述第一關(guān)鍵詞后加載的頁面,所述第一目標頁面為加載出的所述第一搜索結(jié)果頁中任一搜索結(jié)果表示的頁面,所述第二關(guān)鍵詞為在接收到所述第一關(guān)鍵詞之前接收到的關(guān)鍵詞,并且在接收到所述第二關(guān)鍵詞后,所述目標網(wǎng)站未加載第二搜索結(jié)果頁中的任一搜索結(jié)果表示的頁面,所述第二搜索結(jié)果頁為接收到所述第二關(guān)鍵詞后加載的頁面;利用所述匹配式對所述第一搜索結(jié)果頁的URL進行匹配;在所述匹配式與所述第一搜索結(jié)果 頁的URL匹配成功的情況下,提取預(yù)設(shè)時間段內(nèi)搜索次數(shù)高于第一預(yù)設(shè)數(shù)量的所述第二關(guān)鍵詞;檢查提取到的所述第二關(guān)鍵詞是否已存儲在預(yù)設(shè)關(guān)鍵詞詞典中,其中,所述預(yù)設(shè)關(guān)鍵詞詞典中存儲有多個關(guān)于所述目標網(wǎng)站的關(guān)鍵詞;在檢查出提取到的所述第二關(guān)鍵詞已存儲在所述關(guān)鍵詞詞典中的情況下,關(guān)聯(lián)提取到的所述第二關(guān)鍵詞和所述第一目標頁面。
進一步地,在從訪問目標網(wǎng)站的訪問日志中,提取表示所述目標網(wǎng)站的站內(nèi)搜索結(jié)果頁的統(tǒng)一資源定位符URL之前,所述方法還包括:在所述目標網(wǎng)站部署日志獲取程序;以及運行所述日志獲取程序以獲取所述訪問日志。
進一步地,關(guān)聯(lián)提取到的所述第二關(guān)鍵詞和所述第一目標頁面包括:添加提取到的所述第二關(guān)鍵詞至所述第一目標頁面的頁面標簽。
進一步地,所述匹配式為正則表達式,利用所述匹配式對所述第一搜索結(jié)果頁的URL進行匹配包括:判斷所述第一搜索結(jié)果頁的URL中表示主機名的字段與所述正則表達式中表示域名的字段是否相同,其中,在所述第一搜索結(jié)果頁的URL中表示主機名的字段與所述正則表達式中表示域名的字段相同的情況下,確定所述匹配式與所述第一搜索結(jié)果頁的URL匹配成功。
進一步地,在從訪問目標網(wǎng)站的訪問日志中,提取表示所述目標網(wǎng)站的站內(nèi)搜索結(jié)果頁的統(tǒng)一資源定位符URL之前,所述方法還包括:從所述目標網(wǎng)站上獲取第二預(yù)設(shè)數(shù)量的文本文件;對獲取到的每個所述文本文件的文本內(nèi)容進行分詞;以及將分詞后的結(jié)果進行匯總,得到所述關(guān)鍵詞詞典。
根據(jù)本申請實施例的一個方面,提供了一種提高網(wǎng)站站內(nèi)搜索效率的裝置,包括:第一提取單元,用于從訪問目標網(wǎng)站的訪問日志中,提取表示所述目標網(wǎng)站的站內(nèi)搜索結(jié)果頁的統(tǒng)一資源定位符URL;確定單元,用于根據(jù)所述目標網(wǎng)站的站內(nèi)搜索結(jié)果頁的URL,確定用于匹配所述目標網(wǎng)站的站內(nèi)搜索結(jié)果頁的匹配式;第二提取單元,用于從所述訪問日志中提取第一關(guān)鍵詞、第二關(guān)鍵詞、第一搜索結(jié)果頁的URL、第一目標頁面,其中,所述第一關(guān)鍵詞和所述第二關(guān)鍵詞均為用于在所述目標網(wǎng)站進行站內(nèi)搜索的關(guān)鍵詞,所述第一搜索結(jié)果頁為接收到所述第一關(guān)鍵詞后加載的頁面,所述第一目標頁面為加載出的所述第一搜索結(jié)果頁中任一搜索結(jié)果表示的頁面,所述第二關(guān)鍵詞為在接收到所述第一關(guān)鍵詞之前接收到的關(guān)鍵詞,并且在接收到所述第二關(guān)鍵詞后,所述目標網(wǎng)站未加載第二搜索結(jié)果頁中的任一搜索結(jié)果表示的頁面,所述第二搜索結(jié)果頁為接收到所述第二關(guān)鍵詞后加載的頁面;匹配單元,用于利用所述匹配式對所述第一搜索結(jié)果頁的URL進行匹配;第三提取單元,用于在所述匹配式與所述第一搜索結(jié)果頁的URL匹配成功的情況下,提取預(yù)設(shè)時間段內(nèi)搜索次數(shù)高于第一預(yù)設(shè)數(shù) 量的所述第二關(guān)鍵詞;檢查單元,用于檢查提取到的所述第二關(guān)鍵詞是否已存儲在預(yù)設(shè)關(guān)鍵詞詞典中,其中,所述預(yù)設(shè)關(guān)鍵詞詞典中存儲有多個關(guān)于所述目標網(wǎng)站的關(guān)鍵詞;關(guān)聯(lián)單元,用于在檢查出提取到的所述第二關(guān)鍵詞已存儲在所述關(guān)鍵詞詞典中的情況下,關(guān)聯(lián)提取到的所述第二關(guān)鍵詞和所述第一目標頁面。
進一步地,所述裝置還包括:部署單元,用于在所述第一提取單元從訪問目標網(wǎng)站的訪問日志中,提取表示所述目標網(wǎng)站的站內(nèi)搜索結(jié)果頁的統(tǒng)一資源定位符URL之前,在所述目標網(wǎng)站部署日志獲取程序;以及運行單元,用于運行所述日志獲取程序以獲取所述訪問日志。
進一步地,所述關(guān)聯(lián)單元包括:添加子單元,用于添加提取到的所述第二關(guān)鍵詞至所述第一目標頁面的頁面標簽。
進一步地,所述匹配式為正則表達式,所述匹配單元包括:判斷子單元,用于判斷所述第一搜索結(jié)果頁的URL中表示主機名的字段與所述正則表達式中表示域名的字段是否相同,其中,在所述第一搜索結(jié)果頁的URL中表示主機名的字段與所述正則表達式中表示域名的字段相同的情況下,確定所述匹配式與所述第一搜索結(jié)果頁的URL匹配成功。
進一步地,所述裝置還包括:獲取單元,用于在從訪問目標網(wǎng)站的訪問日志中,提取表示所述目標網(wǎng)站的站內(nèi)搜索結(jié)果頁的統(tǒng)一資源定位符URL之前,從所述目標網(wǎng)站上獲取第二預(yù)設(shè)數(shù)量的文本文件;分詞單元,用于對獲取到的每個所述文本文件的文本內(nèi)容進行分詞;以及匯總單元,用于將分詞后的結(jié)果進行匯總,得到所述關(guān)鍵詞詞典。
在本申請實施例中,采用從訪問目標網(wǎng)站的訪問日志中,提取表示目標網(wǎng)站的站內(nèi)搜索結(jié)果頁的統(tǒng)一資源定位符URL,根據(jù)目標網(wǎng)站的站內(nèi)搜索結(jié)果頁的URL,確定用于匹配目標網(wǎng)站的站內(nèi)搜索結(jié)果頁的匹配式,從訪問日志中提取第一關(guān)鍵詞、第二關(guān)鍵詞、第一搜索結(jié)果頁的URL、第一目標頁面,其中,第一關(guān)鍵詞和第二關(guān)鍵詞均為用于在目標網(wǎng)站進行站內(nèi)搜索的關(guān)鍵詞,第一搜索結(jié)果頁為接收到第一關(guān)鍵詞后加載的頁面,第一目標頁面為加載出的第一搜索結(jié)果頁中任一搜索結(jié)果表示的頁面,第二關(guān)鍵詞為在接收到第一關(guān)鍵詞之前接收到的關(guān)鍵詞,并且在接收到第二關(guān)鍵詞后,目標網(wǎng)站未加載第二搜索結(jié)果頁中的任一搜索結(jié)果表示的頁面,第二搜索結(jié)果頁為接收到第二關(guān)鍵詞后加載的頁面,利用匹配式對第一搜索結(jié)果頁的URL進行匹配,在匹配式與第一搜索結(jié)果頁的URL匹配成功的情況下,提取預(yù)設(shè)時間段內(nèi)搜索次數(shù)高于第一預(yù)設(shè)數(shù)量的第二關(guān)鍵詞,檢查提取到的第二關(guān)鍵詞是否已存儲在預(yù)設(shè)關(guān)鍵詞詞典中,其中,預(yù)設(shè)關(guān)鍵詞詞典中存儲有多個關(guān)于目標網(wǎng)站的關(guān)鍵詞,在檢查出提取到的第二 關(guān)鍵詞已存儲在關(guān)鍵詞詞典中的情況下,關(guān)聯(lián)提取到的第二關(guān)鍵詞和第一目標頁面。通過讀取用戶的訪問日志,得到用戶使用的關(guān)鍵詞、訪問過的頁面的URL,根據(jù)目標網(wǎng)站的站內(nèi)搜索結(jié)果頁的URL,構(gòu)造能夠匹配目標網(wǎng)站的站內(nèi)搜索結(jié)果頁的匹配式,使用匹配式對用戶的搜索結(jié)果頁進行匹配,篩選出用戶進行站內(nèi)搜索的搜索結(jié)果頁。提取出在一定時間段內(nèi)搜索次數(shù)較多的無效搜索關(guān)鍵詞,檢查提取出的無效搜索關(guān)鍵詞是否包含在關(guān)鍵詞詞典中,把包含在關(guān)鍵詞詞典中的本次有效站內(nèi)搜索之前進行的無效搜索關(guān)鍵詞與本次有效站內(nèi)搜索所搜索出的目標網(wǎng)站頁面進行關(guān)聯(lián),使輸入用戶使用次數(shù)較多的無效搜索關(guān)鍵詞后也能搜索出想要的頁面,解決了現(xiàn)有技術(shù)中網(wǎng)站站內(nèi)搜索效率低的技術(shù)問題,達到了提高網(wǎng)站站內(nèi)搜索效率的技術(shù)效果。
附圖說明
此處所說明的附圖用來提供對本申請的進一步理解,構(gòu)成本申請的一部分,本申請的示意性實施例及其說明用于解釋本申請,并不構(gòu)成對本申請的不當限定。在附圖中:
圖1是根據(jù)本申請實施例的一種提高網(wǎng)站站內(nèi)搜索效率的方法的流程圖;以及
圖2是根據(jù)本申請實施例的一種提高網(wǎng)站站內(nèi)搜索效率的裝置的示意圖。
具體實施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本申請方案,下面將結(jié)合本申請實施例中的附圖,對本申請實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分的實施例,而不是全部的實施例?;诒旧暾堉械膶嵤├绢I(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應(yīng)當屬于本申請保護的范圍。
需要說明的是,本申請的說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”等是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當情況下可以互換,以便這里描述的本申請的實施例能夠以除了在這里圖示或描述的那些以外的順序?qū)嵤4送?,術(shù)語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或?qū)τ谶@些過程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。
首先對本申請實施例所涉及的技術(shù)術(shù)語作如下解釋:
統(tǒng)一資源定位符(Uniform Resource Locator,簡稱,URL):統(tǒng)一資源定位符是 對可以從互聯(lián)網(wǎng)上得到的資源的位置和訪問方法的一種簡潔的表示,是互聯(lián)網(wǎng)上標準資源的地址?;ヂ?lián)網(wǎng)上的每個文件都有一個唯一的URL,它包含的信息指出文件的位置以及瀏覽器應(yīng)該怎么處理它。
正則表達式:又稱正規(guī)表示法、常規(guī)表示法,是計算機科學的一個概念。正則表達式使用單個字符串來描述、匹配一系列符合某個句法規(guī)則的字符串。在很多文本編輯器里,正則表達式通常被用來檢索、替換那些符合某個模式的文本。
根據(jù)本申請實施例,提供了一種提高網(wǎng)站站內(nèi)搜索效率的方法的實施例,需要說明的是,在附圖的流程圖示出的步驟可以在諸如一組計算機可執(zhí)行指令的計算機系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
圖1是根據(jù)本申請實施例的一種提高網(wǎng)站站內(nèi)搜索效率的方法的流程圖,如圖1所示,該方法包括如下步驟S102至步驟S114:
步驟S102,從訪問目標網(wǎng)站的訪問日志中,提取表示目標網(wǎng)站的站內(nèi)搜索結(jié)果頁的統(tǒng)一資源定位符URL。即從訪問日志中提取出目標網(wǎng)站的站內(nèi)搜索結(jié)果頁的URL。
步驟S104,根據(jù)目標網(wǎng)站的站內(nèi)搜索結(jié)果頁的URL,確定用于匹配目標網(wǎng)站的站內(nèi)搜索結(jié)果頁的匹配式。即根據(jù)目標網(wǎng)站站內(nèi)搜索結(jié)果頁的URL,確定出匹配式,該匹配式滿足的條件是:用它匹配目標網(wǎng)站的站內(nèi)搜索結(jié)果頁URL時,匹配成功,否則,匹配失敗。
步驟S106,從訪問日志中提取第一關(guān)鍵詞、第二關(guān)鍵詞、第一搜索結(jié)果頁的URL、第一目標頁面,其中,第一關(guān)鍵詞和第二關(guān)鍵詞均為用于在目標網(wǎng)站進行站內(nèi)搜索的關(guān)鍵詞,第一搜索結(jié)果頁為接收到第一關(guān)鍵詞后加載的頁面,第一目標頁面為加載出的第一搜索結(jié)果頁中任一搜索結(jié)果表示的頁面,第二關(guān)鍵詞為在接收到第一關(guān)鍵詞之前接收到的關(guān)鍵詞,并且在接收到第二關(guān)鍵詞后,目標網(wǎng)站未加載第二搜索結(jié)果頁中的任一搜索結(jié)果表示的頁面,第二搜索結(jié)果頁為接收到第二關(guān)鍵詞后加載的頁面。即,從訪問日志中提取出用戶進行搜索的關(guān)鍵詞、用戶輸入關(guān)鍵詞后加載出的頁面、該加載出來的頁面的搜索結(jié)果所指向的頁面中那些被用戶點擊過的頁面。其中,第一關(guān)鍵詞為用戶輸入之后,對其搜索結(jié)果頁的搜索結(jié)果指向的頁面又進行了訪問的關(guān)鍵詞,也就是有效搜索關(guān)鍵詞。用戶輸入第一關(guān)鍵詞后,加載出來的頁面為第一搜索結(jié)果頁,第一搜索結(jié)果頁的搜索結(jié)果指向的多個頁面中那些被用戶訪問過的頁面為第一目標頁面,第一目標頁面可以為多個。第二關(guān)鍵詞為用戶輸入之后,對其搜索結(jié)果頁指向的頁面未進行任何訪問的關(guān)鍵詞,也就是無效搜索關(guān)鍵詞。用戶輸入第二關(guān)鍵詞后,加 載出來的頁面為第二搜索結(jié)果頁。
步驟S108,利用匹配式對第一搜索結(jié)果頁的URL進行匹配。即,利用匹配式對第一搜索結(jié)果頁的URL進行匹配,篩選出目標網(wǎng)站站內(nèi)搜索的搜索結(jié)果頁。如果匹配成功,說明該第一搜索結(jié)果頁為目標網(wǎng)站的站內(nèi)搜索的搜索結(jié)果頁,如果匹配失敗,說明該第一搜索結(jié)果頁不是目標網(wǎng)站的站內(nèi)搜索的搜索結(jié)果頁。
步驟S110,在匹配式與第一搜索結(jié)果頁的URL匹配成功的情況下,提取預(yù)設(shè)時間段內(nèi)搜索次數(shù)高于第一預(yù)設(shè)數(shù)量的第二關(guān)鍵詞。即第一搜索結(jié)果頁為目標網(wǎng)站的站內(nèi)搜索的搜索結(jié)果頁的情況下,提取在預(yù)先設(shè)置的時間段內(nèi)用戶搜索的次數(shù)高于預(yù)設(shè)數(shù)量的第二關(guān)鍵詞。預(yù)先設(shè)置的時間段可以參考網(wǎng)站的流量等因素根據(jù)實際需要設(shè)置,例如可以設(shè)置為幾天,幾個月等。預(yù)設(shè)數(shù)量根據(jù)實際需要設(shè)置,例如可以設(shè)置為1、2或者3等。以預(yù)設(shè)數(shù)量為3為例進行說明,提取在預(yù)先設(shè)置的時間段內(nèi)用戶搜索的次數(shù)大于3的第二關(guān)鍵詞,那么在預(yù)先設(shè)置的時間段內(nèi)用戶搜索的次數(shù)為1、2或者3的第二關(guān)鍵詞就不會被提取出來。如果想提取出那些搜索次數(shù)比較高的無效搜索關(guān)鍵詞,就可以把預(yù)設(shè)數(shù)量設(shè)置成一個較大的數(shù)字。如果想提取出那些搜索次數(shù)比較低的無效搜索關(guān)鍵詞,就可以把預(yù)設(shè)數(shù)量設(shè)置成一個較小的數(shù)字。
步驟S112,檢查提取到的第二關(guān)鍵詞是否已存儲在預(yù)設(shè)關(guān)鍵詞詞典中,其中,預(yù)設(shè)關(guān)鍵詞詞典中存儲有多個關(guān)于目標網(wǎng)站的關(guān)鍵詞。即,當提取出預(yù)設(shè)時間段內(nèi)搜索次數(shù)高于第一預(yù)設(shè)數(shù)量的無效搜索關(guān)鍵詞之后,檢查此無效搜索關(guān)鍵詞是否在關(guān)鍵詞詞典中,其中,該關(guān)鍵詞詞典是預(yù)先設(shè)置的,里面存儲著多個關(guān)于目標網(wǎng)站的關(guān)鍵詞。
步驟S114,在檢查出提取到的第二關(guān)鍵詞已存儲在關(guān)鍵詞詞典中的情況下,關(guān)聯(lián)提取到的第二關(guān)鍵詞和第一目標頁面。即,當檢查出提取出來的無效搜索關(guān)鍵詞已經(jīng)存儲在關(guān)鍵詞詞典中的情況下,把提取出的無效搜索關(guān)鍵詞和第一目標頁面建立關(guān)聯(lián)。
例如,用戶在A網(wǎng)站輸入關(guān)鍵詞“國慶閱兵”,進行站內(nèi)搜索,得到一個搜索結(jié)果頁,假設(shè)該搜索結(jié)果頁中某一條搜索結(jié)果為“國慶閱兵有七大不同”,在用戶點擊了該搜索結(jié)果后,得到了一個第一目標頁面。另一條搜索結(jié)果為“新中國14次國慶閱兵|海軍陸戰(zhàn)隊|步兵”,在用戶點擊了該搜索結(jié)果后,又得到了另一個第一目標頁面。由于用戶對搜索結(jié)果頁中的搜索結(jié)果進行了點擊(可以是點擊一個搜索結(jié)果,也可以是點擊多個搜索結(jié)果),所以該次搜索的關(guān)鍵詞“國慶閱兵”是第一關(guān)鍵詞,也稱為有效搜索關(guān)鍵詞。用戶輸入第一關(guān)鍵詞后加載出的頁面,為第一搜索結(jié)果頁,第一搜索結(jié)果頁所指向的頁面中那些被用戶點擊過的頁面為第一目標頁面。
又例如,用戶在B網(wǎng)站輸入關(guān)鍵詞“國慶放假”,進行站內(nèi)搜索,得到一個搜索結(jié) 果頁。用戶對該搜索結(jié)果頁的各條搜索結(jié)果未進行任何點擊,接著又輸入了關(guān)鍵詞“國慶放假游玩”,進行站內(nèi)搜索,得到一個搜索結(jié)果頁。假設(shè)該搜索結(jié)果頁中某一條搜索結(jié)果為“‘十一’出境游進入倒計時|游客|出游”,在用戶點擊了該搜索結(jié)果后,得到了一個第一目標頁面。由于用戶使用關(guān)鍵詞“國慶放假”進行搜索時,對搜索結(jié)果頁的各條搜索結(jié)果未進行任何點擊,所以關(guān)鍵詞“國慶放假”是第二關(guān)鍵詞,說明用戶沒有在搜索結(jié)果頁中找到想要的搜索結(jié)果,因此,關(guān)鍵詞“國慶放假”是無效搜索關(guān)鍵詞。用戶輸入第二關(guān)鍵詞后加載出來的頁面,為第二搜索結(jié)果頁。由于用戶使用關(guān)鍵詞“國慶放假出游”進行搜索時,對得到的站內(nèi)搜索結(jié)果頁中的搜索結(jié)果進行了點擊,所以關(guān)鍵詞“國慶放假出游”是第一關(guān)鍵詞。用戶輸入第一關(guān)鍵詞后加載出的頁面,為第一搜索結(jié)果頁,第一搜索結(jié)果頁所指向的頁面中那些被用戶點擊過的頁面為第一目標頁面。提取出一周之內(nèi)搜索次數(shù)超過100次的第二關(guān)鍵詞,得到關(guān)鍵詞“國慶放假”。經(jīng)過檢查,發(fā)現(xiàn)關(guān)鍵詞“國慶放假”已經(jīng)存儲在關(guān)鍵詞詞典中。把關(guān)鍵詞“國慶放假”與用戶使用關(guān)鍵詞“國慶放假出游”進行搜索得到的第一目標頁面建立關(guān)聯(lián),這樣當用戶使用關(guān)鍵詞“國慶放假”進行搜索時,也能搜索出該第一目標頁面。
本申請實施例所提供的提高網(wǎng)站站內(nèi)搜索效率的方法,通過讀取用戶的訪問日志,得到用戶使用的關(guān)鍵詞、訪問過的頁面的URL,根據(jù)目標網(wǎng)站的站內(nèi)搜索結(jié)果頁的URL,構(gòu)造能夠匹配目標網(wǎng)站的站內(nèi)搜索結(jié)果頁的匹配式,使用匹配式對用戶的搜索結(jié)果頁進行匹配,篩選出用戶進行站內(nèi)搜索的搜索結(jié)果頁。提取出在一定時間段內(nèi)搜索次數(shù)較多的無效搜索關(guān)鍵詞,檢查提取出的無效搜索關(guān)鍵詞是否包含在關(guān)鍵詞詞典中,把包含在關(guān)鍵詞詞典中的本次有效站內(nèi)搜索之前進行的無效搜索關(guān)鍵詞與本次有效站內(nèi)搜索所搜索出的目標網(wǎng)站頁面進行關(guān)聯(lián),使輸入用戶使用次數(shù)較多的無效搜索關(guān)鍵詞后也能搜索出想要的頁面,解決了現(xiàn)有技術(shù)中網(wǎng)站站內(nèi)搜索效率低的技術(shù)問題,達到了提高網(wǎng)站站內(nèi)搜索效率的技術(shù)效果。
可選地,在從訪問目標網(wǎng)站的訪問日志中,提取表示所述目標網(wǎng)站的站內(nèi)搜索結(jié)果頁的統(tǒng)一資源定位符URL之前,本申請實施例所提供的提高網(wǎng)站站內(nèi)搜索效率的方法還可以在目標網(wǎng)站部署能夠監(jiān)控日志獲取程序,然后運行日志獲取程序來獲取訪問日志,即,通過在目標網(wǎng)站部署并運行日志獲取程序來獲取用戶訪問日志。其中,用戶訪問日志記錄了用戶在目標網(wǎng)站的訪問信息,可以包括用戶輸入的搜索關(guān)鍵詞、點擊的頁面、在頁面的停留時間,等等。
例如,兩個用戶一共進行了7次搜索。下面使用A、B、C、D、E表示用戶輸入的搜索關(guān)鍵詞。
用戶甲第一次站內(nèi)搜索輸入的搜索關(guān)鍵詞為A,加載出搜索結(jié)果頁,搜索結(jié)果頁 用pageA表示,用戶點擊了搜索結(jié)果頁pageA的兩條搜索結(jié)果所指向的頁面,這兩個頁面分別用pageA1和pageA2表示。
用戶甲第二次站內(nèi)搜索輸入的搜索關(guān)鍵詞為B,加載出搜索結(jié)果頁,搜索結(jié)果頁用pageB表示,用戶點擊了搜索結(jié)果頁pageB的一條搜索結(jié)果所指向的頁面,這個頁面用pageB1表示。
用戶甲第三次站內(nèi)搜索輸入的搜索關(guān)鍵詞為C,加載出搜索結(jié)果頁,搜索結(jié)果頁用pageC表示,用戶未點擊搜索結(jié)果頁pageC的任何搜索結(jié)果所指向的頁面。
用戶甲第四次站內(nèi)搜索輸入的搜索關(guān)鍵詞為D,加載出搜索結(jié)果頁,搜索結(jié)果頁用pageD表示,用戶未點擊搜索結(jié)果頁pageD的任何搜索結(jié)果所指向的頁面。
用戶甲第五次站內(nèi)搜索輸入的搜索關(guān)鍵詞為E,加載出搜索結(jié)果頁,搜索結(jié)果頁用pageE表示,用戶點擊了搜索結(jié)果頁pageE的其中一條搜索結(jié)果所指向的頁面,這個頁面用pageE1表示。
用戶乙第一次站內(nèi)搜索輸入的搜索關(guān)鍵詞為C,加載出搜索結(jié)果頁pageC,用戶未點擊搜索結(jié)果頁pageC的任何搜索結(jié)果所指向的頁面。
用戶乙第二次站內(nèi)搜索輸入的搜索關(guān)鍵詞為E,加載出搜索結(jié)果頁pageE,用戶點擊了搜索結(jié)果頁pageE的其中一條搜索結(jié)果所指向的頁面pageE1。
用戶甲輸入關(guān)鍵詞A之后,對搜索結(jié)果頁的搜索結(jié)果所指向的頁面進行了訪問,因此關(guān)鍵詞A是第一關(guān)鍵詞,也就是有效搜索關(guān)鍵詞,關(guān)鍵詞A的搜索結(jié)果頁pageA是第一搜索結(jié)果頁,頁面pageA1和pageA2為第一目標頁面。
用戶甲輸入關(guān)鍵詞B之后,對搜索結(jié)果頁的搜索結(jié)果所指向的頁面進行了訪問,因此關(guān)鍵詞B是第一關(guān)鍵詞,也就是有效搜索關(guān)鍵詞,關(guān)鍵詞B的搜索結(jié)果頁pageB是第一搜索結(jié)果頁,頁面pageB1為第一目標頁面。
用戶甲輸入關(guān)鍵詞C之后,未點擊搜索結(jié)果頁的任何搜索結(jié)果所指向的頁面,因此,關(guān)鍵詞C是第二關(guān)鍵詞,也就是無效搜索關(guān)鍵詞,關(guān)鍵詞C的搜索結(jié)果頁pageC是第二搜索結(jié)果頁。
依此類推,關(guān)鍵詞D是第二關(guān)鍵詞,也就是無效搜索關(guān)鍵詞。關(guān)鍵詞D的搜索結(jié)果頁pageD是第二搜索結(jié)果頁。
關(guān)鍵詞E是第一關(guān)鍵詞,也就是有效搜索關(guān)鍵詞。關(guān)鍵詞E的搜索結(jié)果頁pageE是第一搜索結(jié)果頁。頁面pageE1為第一目標頁面。
上述關(guān)鍵詞A、B、C、D、E中,關(guān)鍵詞C和關(guān)鍵詞D都是第二關(guān)鍵詞,提取出一天之內(nèi)搜索次數(shù)大于1的第二關(guān)鍵詞,得到關(guān)鍵詞C,把關(guān)鍵詞C與第一目標頁面pageE1建立關(guān)聯(lián)。
通過以上步驟,建立了用戶進行站內(nèi)搜索輸入的次數(shù)較多的無效搜索關(guān)鍵詞與有效搜索關(guān)鍵詞搜索出來的站內(nèi)頁面之間的聯(lián)系,對于用戶輸入次數(shù)較少的無效搜索關(guān)鍵詞,不與站內(nèi)頁面建立聯(lián)系,避免了為站內(nèi)頁面關(guān)聯(lián)太多關(guān)鍵詞以至于影響搜索速度的問題。
可選地,關(guān)聯(lián)提取到的第二關(guān)鍵詞和第一目標頁面包括:添加提取到的第二關(guān)鍵詞至第一目標頁面的頁面標簽。即,通過把提取到的無效搜索的關(guān)鍵詞添加到第一目標頁面的頁面標簽中,使提取到的無效搜索的關(guān)鍵詞和第一目標頁面建立關(guān)聯(lián),使用戶使用無效搜索關(guān)鍵詞也能搜索到想要的頁面。也就是說,關(guān)聯(lián)提取到的無效搜索關(guān)鍵詞和有效搜索關(guān)鍵詞所搜索出來的站內(nèi)頁面的方法,可以是把提取到的無效搜索關(guān)鍵詞添加到有效搜索關(guān)鍵詞所搜索出來的站內(nèi)頁面的頁面標簽中。
可選地,匹配式為正則表達式,利用匹配式對第一搜索結(jié)果頁的URL進行匹配包括:判斷第一搜索結(jié)果頁的URL中表示主機名的字段與正則表達式中表示域名的字段是否相同,其中,在第一搜索結(jié)果頁的URL中表示主機名的字段與正則表達式中表示域名的字段相同的情況下,確定匹配式與第一搜索結(jié)果頁的URL匹配成功。即,使用正則表達式對第一搜索結(jié)果頁進行匹配,如果第一搜索結(jié)果頁的URL中表示主機名的字段與正則表達式中表示域名的字段相同,則匹配成功,說明該第一搜索結(jié)果頁是目標網(wǎng)站站內(nèi)搜索結(jié)果頁。
正則表達式有很多用法,例如:替換指定內(nèi)容到行尾、數(shù)字替換、刪除每一行行尾的指定字符、匹配字符串,等等。
比如有兩個字符串:“123451265345”和“2345”,需要刪除每個字符串末尾的“345”。解決方法如下:在替換對話框中,啟用“正則表達式”復(fù)選框,在查找內(nèi)容里面輸入“345$”,其中,“$”表示從行尾匹配。
可以使用正則表達式作為匹配式,用于匹配URL的正則表達式可以為以下形式:“^http://([\\w-]+\.)+[\\w-]+(/[\\w-./?%&=]*)?$”。
在鳳凰網(wǎng)輸入搜索關(guān)鍵詞“天津爆炸”,選擇站內(nèi)搜索,搜索結(jié)果頁的搜索結(jié)果指向的部分頁面的URL為:
http://news.ifeng.com/a/20150814/44423078_0.shtml
http://news.ifeng.com/a/20150815/44433711_0.shtml
http://news.ifeng.com/a/20150813/44417356_0.shtml
http://news.ifeng.com/a/20150829/44546931_0.shtml
從上面幾條URL可以看出它們的域名都為news.ifeng.com,只是后面的路徑不同,因此可以通過判斷URL表示主機名的字段與正則表達式中表示域名的字段是否相同來判斷是否為目標網(wǎng)站站內(nèi)頁面,如果URL表示主機名的字段與正則表達式中表示域名的字段相同,則該URL為目標網(wǎng)站站內(nèi)頁面。
可選地,在從訪問目標網(wǎng)站的訪問日志中,提取表示目標網(wǎng)站的站內(nèi)搜索結(jié)果頁的統(tǒng)一資源定位符URL之前,本申請實施例所提供的提高網(wǎng)站站內(nèi)搜索效率的方法還包括:從目標網(wǎng)站上獲取第二預(yù)設(shè)數(shù)量的文本文件;對獲取到的每個文本文件的文本內(nèi)容進行分詞;以及將分詞后的結(jié)果進行匯總,得到關(guān)鍵詞詞典。即,通過在目標網(wǎng)站部署并運行爬蟲程序,來爬取目標網(wǎng)站的文本文件,該文本文件可以是目標網(wǎng)站上的文章,在本申請實施例中,可以獲取5000篇文章,然后利用分詞方法對每一個文本文件(即,文章)進行分詞處理,得到能夠用來描述網(wǎng)站上內(nèi)容的多個分詞結(jié)果,確定這些分詞結(jié)果的集合為關(guān)鍵詞詞典。
根據(jù)本申請實施例,還提供了一種提高網(wǎng)站站內(nèi)搜索效率的裝置。該提高網(wǎng)站站內(nèi)搜索效率的裝置可以執(zhí)行上述提高網(wǎng)站站內(nèi)搜索效率的方法,上述提高網(wǎng)站站內(nèi)搜索效率的方法也可以通過該提高網(wǎng)站站內(nèi)搜索效率的裝置實施。
圖2是根據(jù)本申請實施例的一種提高網(wǎng)站站內(nèi)搜索效率的裝置的示意圖。如圖2所示,該裝置包括:第一提取單元20、確定單元30、第二提取單元40、匹配單元50、第三提取單元60、檢查單元70、關(guān)聯(lián)單元80。
第一提取單元20用于從訪問目標網(wǎng)站的訪問日志中,提取表示目標網(wǎng)站的站內(nèi)搜索結(jié)果頁的統(tǒng)一資源定位符URL。即從訪問日志中提取出目標網(wǎng)站的站內(nèi)搜索結(jié)果頁的URL。
確定單元30用于根據(jù)目標網(wǎng)站的站內(nèi)搜索結(jié)果頁的URL,確定用于匹配目標網(wǎng)站的站內(nèi)搜索結(jié)果頁的匹配式。即根據(jù)目標網(wǎng)站站內(nèi)搜索結(jié)果頁的URL,確定出匹配式,該匹配式滿足的條件是:用它匹配目標網(wǎng)站的站內(nèi)搜索結(jié)果頁URL時,匹配成功,否則,匹配失敗。
第二提取單元40用于從訪問日志中提取第一關(guān)鍵詞、第二關(guān)鍵詞、第一搜索結(jié)果頁的URL、第一目標頁面,其中,第一關(guān)鍵詞和第二關(guān)鍵詞均為用于在目標網(wǎng)站進行 站內(nèi)搜索的關(guān)鍵詞,第一搜索結(jié)果頁為接收到第一關(guān)鍵詞后加載的頁面,第一目標頁面為加載出的第一搜索結(jié)果頁中任一搜索結(jié)果表示的頁面,第二關(guān)鍵詞為在接收到第一關(guān)鍵詞之前接收到的關(guān)鍵詞,并且在接收到第二關(guān)鍵詞后,目標網(wǎng)站未加載第二搜索結(jié)果頁中的任一搜索結(jié)果表示的頁面,第二搜索結(jié)果頁為接收到第二關(guān)鍵詞后加載的頁面。即,從訪問日志中提取出用戶進行搜索的關(guān)鍵詞、用戶輸入關(guān)鍵詞后加載出的頁面、該加載出來的頁面的搜索結(jié)果所指向的頁面中那些被用戶點擊過的頁面。其中,第一關(guān)鍵詞為用戶輸入之后,對其搜索結(jié)果頁的搜索結(jié)果指向的頁面又進行了訪問的關(guān)鍵詞,也就是有效搜索關(guān)鍵詞。用戶輸入第一關(guān)鍵詞后,加載出來的頁面為第一搜索結(jié)果頁,第一搜索結(jié)果頁的搜索結(jié)果指向的多個頁面中那些被用戶訪問過的頁面為第一目標頁面,第一目標頁面可以為多個。第二關(guān)鍵詞為用戶輸入之后,對其搜索結(jié)果頁指向的頁面未進行任何訪問的關(guān)鍵詞,也就是無效搜索關(guān)鍵詞。用戶輸入第二關(guān)鍵詞后,加載出來的頁面為第二搜索結(jié)果頁。
匹配單元50用于利用匹配式對第一搜索結(jié)果頁的URL進行匹配。即,利用匹配式對第一搜索結(jié)果頁的URL進行匹配,篩選出目標網(wǎng)站站內(nèi)搜索的搜索結(jié)果頁。如果匹配成功,說明該第一搜索結(jié)果頁為目標網(wǎng)站的站內(nèi)搜索的搜索結(jié)果頁,如果匹配失敗,說明該第一搜索結(jié)果頁不是目標網(wǎng)站的站內(nèi)搜索的搜索結(jié)果頁。
第三提取單元60用于在匹配式與第一搜索結(jié)果頁的URL匹配成功的情況下,提取預(yù)設(shè)時間段內(nèi)搜索次數(shù)高于第一預(yù)設(shè)數(shù)量的第二關(guān)鍵詞。即第一搜索結(jié)果頁為目標網(wǎng)站的站內(nèi)搜索的搜索結(jié)果頁的情況下,提取在預(yù)先設(shè)置的時間段內(nèi)用戶搜索的次數(shù)高于預(yù)設(shè)數(shù)量的第二關(guān)鍵詞。預(yù)先設(shè)置的時間段可以參考網(wǎng)站的流量等因素根據(jù)實際需要設(shè)置,例如可以設(shè)置為幾天,幾個月等。預(yù)設(shè)數(shù)量根據(jù)實際需要設(shè)置,例如可以設(shè)置為1、2或者3等。以預(yù)設(shè)數(shù)量為3為例進行說明,提取在預(yù)先設(shè)置的時間段內(nèi)用戶搜索的次數(shù)大于3的第二關(guān)鍵詞,那么在預(yù)先設(shè)置的時間段內(nèi)用戶搜索的次數(shù)為1、2或者3的第二關(guān)鍵詞就不會被提取出來。如果想提取出那些搜索次數(shù)比較高的無效搜索關(guān)鍵詞,就可以把預(yù)設(shè)數(shù)量設(shè)置成一個較大的數(shù)字。如果想提取出那些搜索次數(shù)比較低的無效搜索關(guān)鍵詞,就可以把預(yù)設(shè)數(shù)量設(shè)置成一個較小的數(shù)字。
檢查單元70用于檢查提取到的第二關(guān)鍵詞是否已存儲在預(yù)設(shè)關(guān)鍵詞詞典中,其中,預(yù)設(shè)關(guān)鍵詞詞典中存儲有多個關(guān)于目標網(wǎng)站的關(guān)鍵詞。即,當提取出預(yù)設(shè)時間段內(nèi)搜索次數(shù)高于第一預(yù)設(shè)數(shù)量的無效搜索關(guān)鍵詞之后,檢查此無效搜索關(guān)鍵詞是否在關(guān)鍵詞詞典中,其中,該關(guān)鍵詞詞典是預(yù)先設(shè)置的,里面存儲著多個關(guān)于目標網(wǎng)站的關(guān)鍵詞。
關(guān)聯(lián)單元80用于在檢查出提取到的第二關(guān)鍵詞已存儲在關(guān)鍵詞詞典中的情況下, 關(guān)聯(lián)提取到的第二關(guān)鍵詞和第一目標頁面。即,當檢查出提取出來的無效搜索關(guān)鍵詞已經(jīng)存儲在關(guān)鍵詞詞典中的情況下,把提取出的無效搜索關(guān)鍵詞和第一目標頁面建立關(guān)聯(lián)。
例如,用戶在A網(wǎng)站輸入關(guān)鍵詞“國慶閱兵”,進行站內(nèi)搜索,得到一個搜索結(jié)果頁,假設(shè)該搜索結(jié)果頁中某一條搜索結(jié)果為“國慶閱兵有七大不同”,在用戶點擊了該搜索結(jié)果后,得到了一個第一目標頁面。另一條搜索結(jié)果為“新中國14次國慶閱兵|海軍陸戰(zhàn)隊|步兵”,在用戶點擊了該搜索結(jié)果后,又得到了另一個第一目標頁面。由于用戶對搜索結(jié)果頁中的搜索結(jié)果進行了點擊(可以是點擊一個搜索結(jié)果,也可以是點擊多個搜索結(jié)果),所以該次搜索的關(guān)鍵詞“國慶閱兵”是第一關(guān)鍵詞,也稱為有效搜索關(guān)鍵詞。用戶輸入第一關(guān)鍵詞后加載出的頁面,為第一搜索結(jié)果頁,第一搜索結(jié)果頁所指向的頁面中那些被用戶點擊過的頁面為第一目標頁面。
又例如,用戶在B網(wǎng)站輸入關(guān)鍵詞“國慶放假”,進行站內(nèi)搜索,得到一個搜索結(jié)果頁。用戶對該搜索結(jié)果頁的各條搜索結(jié)果未進行任何點擊,接著又輸入了關(guān)鍵詞“國慶放假游玩”,進行站內(nèi)搜索,得到一個搜索結(jié)果頁。假設(shè)該搜索結(jié)果頁中某一條搜索結(jié)果為“‘十一’出境游進入倒計時|游客|出游”,在用戶點擊了該搜索結(jié)果后,得到了一個第一目標頁面。由于用戶使用關(guān)鍵詞“國慶放假”進行搜索時,對搜索結(jié)果頁的各條搜索結(jié)果未進行任何點擊,所以關(guān)鍵詞“國慶放假”是第二關(guān)鍵詞,說明用戶沒有在搜索結(jié)果頁中找到想要的搜索結(jié)果,因此,關(guān)鍵詞“國慶放假”是無效搜索關(guān)鍵詞。用戶輸入第二關(guān)鍵詞后加載出來的頁面,為第二搜索結(jié)果頁。由于用戶使用關(guān)鍵詞“國慶放假出游”進行搜索時,對得到的站內(nèi)搜索結(jié)果頁中的搜索結(jié)果進行了點擊,所以關(guān)鍵詞“國慶放假出游”是第一關(guān)鍵詞。用戶輸入第一關(guān)鍵詞后加載出的頁面,為第一搜索結(jié)果頁,第一搜索結(jié)果頁所指向的頁面中那些被用戶點擊過的頁面為第一目標頁面。提取出一周之內(nèi)搜索次數(shù)超過100次的第二關(guān)鍵詞,得到關(guān)鍵詞“國慶放假”。經(jīng)過檢查,發(fā)現(xiàn)關(guān)鍵詞“國慶放假”已經(jīng)存儲在關(guān)鍵詞詞典中。把關(guān)鍵詞“國慶放假”與用戶使用關(guān)鍵詞“國慶放假出游”進行搜索得到的第一目標頁面建立關(guān)聯(lián),這樣當用戶使用關(guān)鍵詞“國慶放假”進行搜索時,也能搜索出該第一目標頁面。
本申請實施例所提供的提高網(wǎng)站站內(nèi)搜索效率的裝置,通過讀取用戶的訪問日志,得到用戶使用的關(guān)鍵詞、訪問過的頁面的URL,根據(jù)目標網(wǎng)站的站內(nèi)搜索結(jié)果頁的URL,構(gòu)造能夠匹配目標網(wǎng)站的站內(nèi)搜索結(jié)果頁的匹配式,使用匹配式對用戶的搜索結(jié)果頁進行匹配,篩選出用戶進行站內(nèi)搜索的搜索結(jié)果頁。提取出在一定時間段內(nèi)搜索次數(shù)較多的無效搜索關(guān)鍵詞,檢查提取出的無效搜索關(guān)鍵詞是否包含在關(guān)鍵詞詞典中,把包含在關(guān)鍵詞詞典中的本次有效站內(nèi)搜索之前進行的無效搜索關(guān)鍵詞與本次有效站內(nèi)搜索所搜索出的目標網(wǎng)站頁面進行關(guān)聯(lián),使輸入用戶使用次數(shù)較多的無效搜索關(guān)鍵詞 后也能搜索出想要的頁面,解決了現(xiàn)有技術(shù)中網(wǎng)站站內(nèi)搜索效率低的技術(shù)問題,達到了提高網(wǎng)站站內(nèi)搜索效率的技術(shù)效果。
可選地,本申請實施例所提供的提高網(wǎng)站站內(nèi)搜索效率的裝置還包括部署單元和運行單元,其中,在第一提取單元從訪問目標網(wǎng)站的訪問日志中,提取表示所述目標網(wǎng)站的站內(nèi)搜索結(jié)果頁的統(tǒng)一資源定位符URL之前,部署單元用于在目標網(wǎng)站部署能夠監(jiān)控日志獲取程序,然后由運行單元運行日志獲取程序來獲取訪問日志,即,通過在目標網(wǎng)站部署并運行日志獲取程序來獲取用戶訪問日志。其中,用戶訪問日志記錄了用戶在目標網(wǎng)站的訪問信息,可以包括用戶輸入的搜索關(guān)鍵詞、點擊的頁面、在頁面的停留時間,等等。
例如,兩個用戶一共進行了7次搜索。下面使用A、B、C、D、E表示用戶輸入的搜索關(guān)鍵詞。
用戶甲第一次站內(nèi)搜索輸入的搜索關(guān)鍵詞為A,加載出搜索結(jié)果頁,搜索結(jié)果頁用pageA表示,用戶點擊了搜索結(jié)果頁pageA的兩條搜索結(jié)果所指向的頁面,這兩個頁面分別用pageA1和pageA2表示。
用戶甲第二次站內(nèi)搜索輸入的搜索關(guān)鍵詞為B,加載出搜索結(jié)果頁,搜索結(jié)果頁用pageB表示,用戶點擊了搜索結(jié)果頁pageB的一條搜索結(jié)果所指向的頁面,這個頁面用pageB1表示。
用戶甲第三次站內(nèi)搜索輸入的搜索關(guān)鍵詞為C,加載出搜索結(jié)果頁,搜索結(jié)果頁用pageC表示,用戶未點擊搜索結(jié)果頁pageC的任何搜索結(jié)果所指向的頁面。
用戶甲第四次站內(nèi)搜索輸入的搜索關(guān)鍵詞為D,加載出搜索結(jié)果頁,搜索結(jié)果頁用pageD表示,用戶未點擊搜索結(jié)果頁pageD的任何搜索結(jié)果所指向的頁面。
用戶甲第五次站內(nèi)搜索輸入的搜索關(guān)鍵詞為E,加載出搜索結(jié)果頁,搜索結(jié)果頁用pageE表示,用戶點擊了搜索結(jié)果頁pageE的其中一條搜索結(jié)果所指向的頁面,這個頁面用pageE1表示。
用戶乙第一次站內(nèi)搜索輸入的搜索關(guān)鍵詞為C,加載出搜索結(jié)果頁pageC,用戶未點擊搜索結(jié)果頁pageC的任何搜索結(jié)果所指向的頁面。
用戶乙第二次站內(nèi)搜索輸入的搜索關(guān)鍵詞為E,加載出搜索結(jié)果頁pageE,用戶點擊了搜索結(jié)果頁pageE的其中一條搜索結(jié)果所指向的頁面pageE1。
用戶甲輸入關(guān)鍵詞A之后,對搜索結(jié)果頁的搜索結(jié)果所指向的頁面進行了訪問,因此關(guān)鍵詞A是第一關(guān)鍵詞,也就是有效搜索關(guān)鍵詞,關(guān)鍵詞A的搜索結(jié)果頁pageA 是第一搜索結(jié)果頁,頁面pageA1和pageA2為第一目標頁面。
用戶甲輸入關(guān)鍵詞B之后,對搜索結(jié)果頁的搜索結(jié)果所指向的頁面進行了訪問,因此關(guān)鍵詞B是第一關(guān)鍵詞,也就是有效搜索關(guān)鍵詞,關(guān)鍵詞B的搜索結(jié)果頁pageB是第一搜索結(jié)果頁,頁面pageB1為第一目標頁面。
用戶甲輸入關(guān)鍵詞C之后,未點擊搜索結(jié)果頁的任何搜索結(jié)果所指向的頁面,因此,關(guān)鍵詞C是第二關(guān)鍵詞,也就是無效搜索關(guān)鍵詞,關(guān)鍵詞C的搜索結(jié)果頁pageC是第二搜索結(jié)果頁。
依此類推,關(guān)鍵詞D是第二關(guān)鍵詞,也就是無效搜索關(guān)鍵詞。關(guān)鍵詞D的搜索結(jié)果頁pageD是第二搜索結(jié)果頁。
關(guān)鍵詞E是第一關(guān)鍵詞,也就是有效搜索關(guān)鍵詞。關(guān)鍵詞E的搜索結(jié)果頁pageE是第一搜索結(jié)果頁。頁面pageE1為第一目標頁面。
上述關(guān)鍵詞A、B、C、D、E中,關(guān)鍵詞C和關(guān)鍵詞D都是第二關(guān)鍵詞,提取出一天之內(nèi)搜索次數(shù)大于1的第二關(guān)鍵詞,得到關(guān)鍵詞C,把關(guān)鍵詞C與第一目標頁面pageE1建立關(guān)聯(lián)。
通過以上步驟,建立了用戶進行站內(nèi)搜索輸入的次數(shù)較多的無效搜索關(guān)鍵詞與有效搜索關(guān)鍵詞搜索出來的站內(nèi)頁面之間的聯(lián)系,對于用戶輸入次數(shù)較少的無效搜索關(guān)鍵詞,不與站內(nèi)頁面建立聯(lián)系,避免了為站內(nèi)頁面關(guān)聯(lián)太多關(guān)鍵詞以至于影響搜索速度的問題。
可選地,關(guān)聯(lián)單元包括添加子單元。該添加子單元用于添加提取到的第二關(guān)鍵詞至第一目標頁面的頁面標簽。即,通過把提取到的無效搜索的關(guān)鍵詞添加到第一目標頁面的頁面標簽中,使提取到的無效搜索的關(guān)鍵詞和第一目標頁面建立關(guān)聯(lián),使用戶使用無效搜索關(guān)鍵詞也能搜索到想要的頁面。也就是說,關(guān)聯(lián)提取到的無效搜索關(guān)鍵詞和有效搜索關(guān)鍵詞所搜索出來的站內(nèi)頁面的方法,可以是把提取到的無效搜索關(guān)鍵詞添加到有效搜索關(guān)鍵詞所搜索出來的站內(nèi)頁面的頁面標簽中。
可選地,匹配式為正則表達式,匹配單元包括判斷子單元。該判斷子單元用于判斷第一搜索結(jié)果頁的URL中表示主機名的字段與正則表達式中表示域名的字段是否相同,其中,在第一搜索結(jié)果頁的URL中表示主機名的字段與正則表達式中表示域名的字段相同的情況下,確定匹配式與第一搜索結(jié)果頁的URL匹配成功。即,使用正則表達式對第一搜索結(jié)果頁進行匹配,如果第一搜索結(jié)果頁的URL中表示主機名的字段與正則表達式中表示域名的字段相同,則匹配成功,說明該第一搜索結(jié)果頁是目標網(wǎng)站站內(nèi)搜索結(jié)果頁。
正則表達式有很多用法,例如:替換指定內(nèi)容到行尾、數(shù)字替換、刪除每一行行尾的指定字符、匹配字符串,等等。
比如有兩個字符串:“123451265345”和“2345”,需要刪除每個字符串末尾的“345”。解決方法如下:在替換對話框中,啟用“正則表達式”復(fù)選框,在查找內(nèi)容里面輸入“345$”,其中,“$”表示從行尾匹配。
可以使用正則表達式作為匹配式,用于匹配URL的正則表達式可以為以下形式:“^http://([\\w-]+\.)+[\\w-]+(/[\\w-./?%&=]*)?$”。
在鳳凰網(wǎng)輸入搜索關(guān)鍵詞“天津爆炸”,選擇站內(nèi)搜索,搜索結(jié)果頁的搜索結(jié)果指向的部分頁面的URL為:
http://news.ifeng.com/a/20150814/44423078_0.shtml
http://news.ifeng.com/a/20150815/44433711_0.shtml
http://news.ifeng.com/a/20150813/44417356_0.shtml
http://news.ifeng.com/a/20150829/44546931_0.shtml
從上面幾條URL可以看出它們的域名都為news.ifeng.com,只是后面的路徑不同,因此可以通過判斷URL表示主機名的字段與正則表達式中表示域名的字段是否相同來判斷是否為目標網(wǎng)站站內(nèi)頁面,如果URL表示主機名的字段與正則表達式中表示域名的字段相同,則該URL為目標網(wǎng)站站內(nèi)頁面。
可選地,本申請實施例所提供的提高網(wǎng)站站內(nèi)搜索效率的裝置還包括:獲取單元、分詞單元、匯總單元。獲取單元用于在從訪問目標網(wǎng)站的訪問日志中,提取表示目標網(wǎng)站的站內(nèi)搜索結(jié)果頁的統(tǒng)一資源定位符URL之前,從目標網(wǎng)站上獲取第二預(yù)設(shè)數(shù)量的文本文件。分詞單元用于對獲取到的每個文本文件的文本內(nèi)容進行分詞。匯總單元用于將分詞后的結(jié)果進行匯總,得到關(guān)鍵詞詞典。
即,通過在目標網(wǎng)站部署并運行爬蟲程序,來爬取目標網(wǎng)站的文本文件,該文本文件可以是目標網(wǎng)站上的文章,在本申請實施例中,可以獲取5000篇文章,然后利用分詞方法對每一個文本文件(即,文章)進行分詞處理,得到能夠用來描述網(wǎng)站上內(nèi)容的多個分詞結(jié)果,確定這些分詞結(jié)果的集合為關(guān)鍵詞詞典。
所述提高網(wǎng)站站內(nèi)搜索效率的裝置包括處理器和存儲器,上述第一提取單元20、確定單元30、第二提取單元40、匹配單元50、第三提取單元60、檢查單元70、關(guān)聯(lián)單元80等均作為程序單元存儲在存儲器中,由處理器執(zhí)行存儲在存儲器中的上述程序 單元來實現(xiàn)相應(yīng)的功能。
處理器中包含內(nèi)核,由內(nèi)核去存儲器中調(diào)取相應(yīng)的程序單元。內(nèi)核可以設(shè)置一個或以上,通過調(diào)整內(nèi)核參數(shù)來在提高站內(nèi)搜索效率。
存儲器可能包括計算機可讀介質(zhì)中的非永久性存儲器,隨機存取存儲器(RAM)和/或非易失性內(nèi)存等形式,如只讀存儲器(ROM)或閃存(flash RAM),存儲器包括至少一個存儲芯片。
本申請還提供了一種計算機程序產(chǎn)品,當在數(shù)據(jù)處理設(shè)備上執(zhí)行時,適于執(zhí)行初始化有如下方法步驟的程序代碼:從訪問目標網(wǎng)站的訪問日志中,提取表示目標網(wǎng)站的站內(nèi)搜索結(jié)果頁的統(tǒng)一資源定位符URL,根據(jù)目標網(wǎng)站的站內(nèi)搜索結(jié)果頁的URL,確定用于匹配目標網(wǎng)站的站內(nèi)搜索結(jié)果頁的匹配式,從訪問日志中提取第一關(guān)鍵詞、第二關(guān)鍵詞、第一搜索結(jié)果頁的URL、第一目標頁面,其中,第一關(guān)鍵詞和第二關(guān)鍵詞均為用于在目標網(wǎng)站進行站內(nèi)搜索的關(guān)鍵詞,第一搜索結(jié)果頁為接收到第一關(guān)鍵詞后加載的頁面,第一目標頁面為加載出的第一搜索結(jié)果頁中任一搜索結(jié)果表示的頁面,第二關(guān)鍵詞為在接收到第一關(guān)鍵詞之前接收到的關(guān)鍵詞,并且在接收到第二關(guān)鍵詞后,目標網(wǎng)站未加載第二搜索結(jié)果頁中的任一搜索結(jié)果表示的頁面,第二搜索結(jié)果頁為接收到第二關(guān)鍵詞后加載的頁面,利用匹配式對第一搜索結(jié)果頁的URL進行匹配,在匹配式與第一搜索結(jié)果頁的URL匹配成功的情況下,提取預(yù)設(shè)時間段內(nèi)搜索次數(shù)高于第一預(yù)設(shè)數(shù)量的第二關(guān)鍵詞,檢查提取到的第二關(guān)鍵詞是否已存儲在預(yù)設(shè)關(guān)鍵詞詞典中,其中,預(yù)設(shè)關(guān)鍵詞詞典中存儲有多個關(guān)于目標網(wǎng)站的關(guān)鍵詞,在檢查出提取到的第二關(guān)鍵詞已存儲在關(guān)鍵詞詞典中的情況下,關(guān)聯(lián)提取到的第二關(guān)鍵詞和第一目標頁面。
上述本申請實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。
在本申請的上述實施例中,對各個實施例的描述都各有側(cè)重,某個實施例中沒有詳述的部分,可以參見其他實施例的相關(guān)描述。
在本申請所提供的幾個實施例中,應(yīng)該理解到,所揭露的技術(shù)內(nèi)容,可通過其它的方式實現(xiàn)。其中,以上所描述的裝置實施例僅僅是示意性的,例如所述單元的劃分,可以為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,單元或模塊的間接耦合或通信連接,可以是電性或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到 多個單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。
另外,在本申請各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用軟件功能單元的形式實現(xiàn)。
所述集成的單元如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機可讀取存儲介質(zhì)中?;谶@樣的理解,本申請的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設(shè)備(可為個人計算機、服務(wù)器或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本申請各個實施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:U盤、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、移動硬盤、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
以上所述僅是本申請的優(yōu)選實施方式,應(yīng)當指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本申請原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應(yīng)視為本申請的保護范圍。