搜索引擎:谷歌锡凝,Bing粘昨,百度之類的搜索引擎
企業(yè)搜索:Autonomy(國外知名搜索服務(wù)提供商),或是拓爾思(國內(nèi)知名企業(yè)搜索服務(wù)商)窜锯。
直接采購成熟產(chǎn)品张肾,或根據(jù)企業(yè)的特有業(yè)務(wù)形態(tài)和長遠(yuǎn)技術(shù)規(guī)劃將往往促使他們做出更穩(wěn)妥的決定:比如,從世界的頂級咨詢公司購買解決方案锚扎,再決定是否采購成熟的技術(shù)和服務(wù)組件或與本土IT公司合作開發(fā)吞瞪,打造企業(yè)自主知識產(chǎn)權(quán)的產(chǎn)品。
三個原因:1驾孔、地域及環(huán)境因素芍秆;2-制約與反制約的博弈。3-長遠(yuǎn)規(guī)劃需要翠勉。
根據(jù)美聯(lián)企業(yè)的現(xiàn)狀
- 以企業(yè)內(nèi)部應(yīng)用為搜索界定范圍妖啥,以應(yīng)用產(chǎn)生的業(yè)務(wù)數(shù)據(jù)為搜索目標(biāo)(屬于ESI范疇),以企業(yè)的所有員工為搜索服務(wù)的提供對象对碌。因此荆虱,是橫跨企業(yè)內(nèi)部多業(yè)務(wù)域、多應(yīng)用的核心級別項目。
- 設(shè)計的重點在于數(shù)據(jù)的獲然扯痢(創(chuàng)建索引)和隱私的控制(安全搜索)诉位。
- 需要采用開源的搜索組件和服務(wù),比如基于Solr技術(shù)
- 索引數(shù)據(jù)將非常龐大菜枷,需要做一些優(yōu)化策略來解決性能風(fēng)險苍糠。
首先,做業(yè)務(wù)的頂層設(shè)計
我們將這種搜索應(yīng)用稱為“企業(yè)統(tǒng)一搜索”犁跪。企業(yè)統(tǒng)一搜索的入口將放置在企業(yè)的內(nèi)部門戶portal椿息,這也是因為需要基于portal的一部分有效資源。比如坷衍,4A訪問控制 (認(rèn)證Authentication、賬號Account条舔、授權(quán)Authorization枫耳、審計Audit),搜索結(jié)果對應(yīng)app的sso訪問跳轉(zhuǎn)孟抗。
對于搜索的信息分類設(shè)計迁杨,從搜索結(jié)果的展現(xiàn)形式上來看,可以將搜索劃分為搜索信息凄硼,搜索企業(yè)員工铅协,搜索應(yīng)用,搜索知識摊沉,搜索圖片狐史,搜索視頻等。
對于搜索的展現(xiàn)設(shè)計说墨,要符合流行的google骏全,百度展現(xiàn)要求,即以標(biāo)題+簡介+關(guān)鍵項為展現(xiàn)基礎(chǔ)尼斧,其中關(guān)鍵項基于業(yè)務(wù)的不同而所指不同姜贡,比如,包括圖片縮略棺棵,時間楼咳,作者,tags烛恤,url母怜,icon等。具體由企業(yè)統(tǒng)一搜索應(yīng)用提供不同的展現(xiàn)模版供其它應(yīng)用調(diào)用棒动。
對于搜索的準(zhǔn)確性要求糙申,需要通過搜索權(quán)重管理,faccted search(分面搜索),Poka-yoke(防呆防錯)技術(shù)柜裸,相關(guān)搜索技術(shù)等來滿足缕陕。
對于數(shù)據(jù)采集的設(shè)計,要求企業(yè)統(tǒng)一搜索提供統(tǒng)一的index索引接口疙挺,由其它app進行推送扛邑。同時,也要考慮索引失效的問題和人工干預(yù)的需要铐然。另外蔬崩,采用爬蟲技術(shù)解決某些app無法通過接口調(diào)用推送數(shù)據(jù)而提供搜索服務(wù)的問題,爬蟲技術(shù)(Spider)將主動定期爬取目標(biāo)系統(tǒng)頁面有價值的數(shù)據(jù)搀暑。
對于權(quán)限設(shè)計是企業(yè)搜索和互聯(lián)網(wǎng)搜索的最大不同沥阳,企業(yè)內(nèi)部的業(yè)務(wù)信息大都是有瀏覽范圍控制的,因此在做搜索的數(shù)據(jù)訪問權(quán)限設(shè)計時自点,最大問題是權(quán)限的推送和搜索控制桐罕。
而在企業(yè)搜索中,我們需要這樣的技術(shù)架構(gòu):
在處理邏輯上桂敛,我們采用下面的流程:
從搜索的技術(shù)層面考慮功炮,主要解決這么幾個問題:
1.數(shù)據(jù)采集
提供統(tǒng)一的數(shù)據(jù)index接口,接口內(nèi)容包括數(shù)據(jù)類型术唬,來源薪伏,URL,主題粗仓,正文嫁怀,標(biāo)簽,摘要潦牛,創(chuàng)建人眶掌,創(chuàng)建時間,保存期限巴碗,可訪問角色朴爬,可訪問用戶,可訪問組織等橡淆。
提供一個spider程序召噩,定向爬取目標(biāo)系統(tǒng)頁面內(nèi)容,并自動調(diào)用index接口逸爵,建立索引具滴。
提供一個中間數(shù)據(jù)文本,部分對應(yīng)系統(tǒng)可以通過導(dǎo)出數(shù)據(jù)到中間文本方式提供索引數(shù)據(jù)师倔。
2.權(quán)限控制
通過接口采集數(shù)據(jù)的可瀏覽角色构韵,用戶和組織范圍,將實際業(yè)務(wù)中可能出現(xiàn)的場景基本覆蓋。
還提供兩種場景疲恢,其一凶朗,搜索結(jié)果中可展示,但點擊無法瀏覽詳情显拳,即通過目標(biāo)應(yīng)用來控制實際的瀏覽權(quán)限棚愤。但此方案將導(dǎo)致部分重要信息出現(xiàn)標(biāo)題或摘要泄漏情況。其二杂数,通過solr控制搜索結(jié)果宛畦,將無權(quán)限訪問的數(shù)據(jù)直接過濾掉,不出現(xiàn)在搜索結(jié)果中揍移。但這種處理方式非常容易出現(xiàn)效率問題次和。
因此,我們一般會建議用戶建立企業(yè)內(nèi)部信息索引建立規(guī)范那伐,比如斯够,允許全員公開的數(shù)據(jù)推送索引,允許以組織層級公開的數(shù)據(jù)推送索引喧锦,允許以角色公開的數(shù)據(jù)推送索引,允許以好友圈子公開的數(shù)據(jù)推送索引抓督;其它類型的數(shù)據(jù)建議不推送索引燃少,如有必要,可以由應(yīng)用提供單獨的搜索服務(wù)調(diào)用方式铃在,供企業(yè)統(tǒng)一搜索調(diào)用阵具,進行統(tǒng)一的UI展現(xiàn)。
3.規(guī)則引擎
規(guī)則引擎主要解決除搜索權(quán)重定铜,faccted search阳液,相關(guān)搜索,敏感詞等之外的業(yè)務(wù)邏輯規(guī)則揣炕。比如帘皿,關(guān)鍵用戶信息的隱藏處理,索引外信息的獲取和拼裝畸陡,索引自修復(fù)規(guī)則等鹰溜。
4.UE設(shè)計
除了前面提到的Poka-yoke技術(shù),faccted技術(shù)丁恭,相關(guān)搜索技術(shù)曹动,在搜索展現(xiàn)上還要體現(xiàn)不同信息的匯聚關(guān)聯(lián)性。比如牲览,關(guān)聯(lián)搜索提示墓陈,高級搜索,搜索糾錯等。
搜索的體驗異常重要贡必,例如兔港,在搜索員工時,在搜索結(jié)果中需要將本部門的同事放在首位赊级,其次是本公司的員工押框,再是關(guān)鍵用戶。
5.性能和命中率設(shè)計
如果一次搜索花費了30秒才出現(xiàn)結(jié)果理逊,而且沒有滿意的搜索內(nèi)容橡伞,那么這種體驗將是致命的。
因此晋被,對于性能的設(shè)計要考慮的index的檢索效率優(yōu)化兑徘,規(guī)則邏輯處理效率優(yōu)化,UI渲染效率優(yōu)化等羡洛。比如金句,就用戶每天300萬條業(yè)務(wù)數(shù)據(jù)推送到索引來看呐萌,如果不及時有效的做索引數(shù)據(jù)的清理,將會在很短的時間內(nèi)讓索引庫龐大不堪,在不采取分布式的存儲策略前乒融,只能定期的做清理來緩解效率的問題。況且玻粪,企業(yè)內(nèi)能真正采用分布式存儲架構(gòu)的還真為數(shù)不多窜管。
關(guān)于命中率的問題,一般通過調(diào)整權(quán)重指標(biāo)韧涨,做好日常的受控詞表維護往往能很快解決牍戚。關(guān)于權(quán)重指標(biāo),這里一般分為業(yè)務(wù)權(quán)重和數(shù)據(jù)項權(quán)重虑粥,比如業(yè)務(wù)權(quán)重是按照數(shù)據(jù)來源app重要程度來劃分權(quán)重如孝,數(shù)據(jù)項權(quán)重一般是基于數(shù)據(jù)的業(yè)務(wù)屬性的重要性來劃分權(quán)重,比如關(guān)鍵詞出現(xiàn)在標(biāo)題中就比出現(xiàn)在正文中的權(quán)重要高娩贷。
6.非結(jié)構(gòu)化數(shù)據(jù)的展現(xiàn)問題
現(xiàn)在企業(yè)的數(shù)據(jù)中有 80% 屬于非結(jié)構(gòu)化信息第晰。這其中包括了Word文檔,Excel表格育勺,PDF文件但荤,掃描圖片,電子郵件涧至,電話記錄腹躁、語音留言、紙質(zhì)文檔南蓬、照片纺非、網(wǎng)頁哑了、視頻以及其他形式的內(nèi)容。由于很多企業(yè)缺乏能夠理解并有效利用這些內(nèi)容的技術(shù)烧颖,使得非常有價值又充滿戰(zhàn)略意義的資源常常無法發(fā)揮其作用弱左。因此,在搜索的展現(xiàn)過程中炕淮,要充分的考慮這類非格式化數(shù)據(jù)的展現(xiàn)拆火,比如,搜索到的是圖片涂圆,一般需要在搜索結(jié)果中直線展現(xiàn)縮略圖们镜,點擊伸展瀏覽大圖;如果搜索的是一段音頻或視頻润歉,那么需要在結(jié)果展現(xiàn)中能進行快捷播放模狭,而不是僅僅跳轉(zhuǎn)到目標(biāo)頁面。
參考資料
- 如何做出優(yōu)雅的搜索功能 http://www.woshipm.com/pd/440037.html
- 企業(yè)級內(nèi)部信息統(tǒng)一搜索解決方案
http://blog.csdn.net/linco_zhang/article/details/8990494 - office 企業(yè)級搜索體系結(jié)構(gòu)
https://msdn.microsoft.com/zh-cn/library/office/ms570748(v=office.12).aspx - 分面搜索
http://cdc.tencent.com/2009/07/30/%E5%88%86%E9%9D%A2%E6%90%9C%E7%B4%A2%EF%BC%88faceted-search%EF%BC%89/ - Poka-yoke
http://baike.baidu.com/link?url=OWcOD9b-EdKhXZnU3NsgklDPQIsW3mvuqSk6tNs3llMBOMoxDHBHfqVwIlcqTQ4CUBnSBxpbqP9BT5krLq8rNbTvym_bUm8TTHZYJecjeYq
歡迎聯(lián)系我. 微博:@阿霖A0. 微信:alinkyan