關(guān)系數(shù)據(jù)庫(kù)上的即時(shí)搜索的制作方法
【專利說(shuō)明】關(guān)系數(shù)據(jù)庫(kù)上的即時(shí)搜索
[0001]背景
[0002]在當(dāng)前計(jì)算機(jī)系統(tǒng)中使用了各種各樣的不同類型的搜索引擎和搜索技術(shù)。一些這樣的引擎或技術(shù)包括web搜索引擎以及在其他應(yīng)用(如操作系統(tǒng)、web瀏覽器、以及數(shù)據(jù)協(xié)作應(yīng)用(諸如筆記應(yīng)用))中實(shí)現(xiàn)的搜索功能。
[0003]這些搜索引擎和技術(shù)中的一些實(shí)現(xiàn)了“即時(shí)搜索”功能。在這一功能中,在最終用戶將字符鍵入搜索域中時(shí),搜索引擎對(duì)數(shù)據(jù)存儲(chǔ)或索引執(zhí)行重復(fù)搜索。在一種系統(tǒng)中,每次用戶暫停其輸入達(dá)給定時(shí)間(諸如約300ms或不同的時(shí)間),搜索就被執(zhí)行,以減少或控制查詢的次數(shù)。在另一種系統(tǒng)中,對(duì)于用戶的每一擊鍵或字符輸入,都執(zhí)行一個(gè)搜索(或查詢)。在定位匹配結(jié)果時(shí),搜索引擎可以執(zhí)行前綴搜索,其中搜索引擎估計(jì)整個(gè)查詢(基于迄今接收到的字符)并啟動(dòng)所估計(jì)的查詢。在另一實(shí)施例中,搜索引擎搜索與迄今已被輸入的字符相匹配的結(jié)果,并返回那些匹配的結(jié)果。在用戶繼續(xù)鍵入附加字符到搜索域中時(shí),搜索引擎基于該附加字符來(lái)細(xì)化搜索并基于經(jīng)細(xì)化的搜索來(lái)返回結(jié)果??梢钥吹?,即時(shí)搜索功能針對(duì)要被搜索的數(shù)據(jù)存儲(chǔ)或數(shù)據(jù)語(yǔ)料庫(kù)生成大量查詢。
[0004]當(dāng)前使用了各種各樣的不同類型的業(yè)務(wù)數(shù)據(jù)系統(tǒng)。這樣的系統(tǒng)包括客戶關(guān)系管理(CRM)系統(tǒng)、企業(yè)資源規(guī)劃(ERP)系統(tǒng)、業(yè)務(wù)線(LOB)應(yīng)用,等等。這些業(yè)務(wù)數(shù)據(jù)系統(tǒng)中的許多被構(gòu)建在關(guān)系數(shù)據(jù)庫(kù)上。通常,為了查找關(guān)系數(shù)據(jù)庫(kù)中的信息,用戶生成針對(duì)數(shù)據(jù)庫(kù)內(nèi)索引啟動(dòng)的數(shù)據(jù)庫(kù)查詢。這一類型的數(shù)據(jù)庫(kù)索引通常必須符合所有關(guān)系數(shù)據(jù)庫(kù)屬性(諸如原子性、一致性、隔離性、以及持久性)。因此,生成關(guān)系數(shù)據(jù)庫(kù)中的數(shù)據(jù)庫(kù)內(nèi)索引在性能開銷方面可能是耗時(shí)的且昂貴的。
[0005]另外,在給定時(shí)間,許多業(yè)務(wù)數(shù)據(jù)系統(tǒng)被大量用戶訪問(wèn)。因此,以及時(shí)的方式服務(wù)由用戶針對(duì)關(guān)系數(shù)據(jù)庫(kù)發(fā)起的所有各種查詢可能是困難的。極大地增加針對(duì)業(yè)務(wù)數(shù)據(jù)系統(tǒng)中的關(guān)系數(shù)據(jù)庫(kù)發(fā)起的查詢的數(shù)量可能不利地影響性能。
[0006]提供以上討論僅用作一般的背景信息,并不旨在幫助確定所要求保護(hù)的主題的范圍。
[0007]概述
[0008]一種與關(guān)系數(shù)據(jù)庫(kù)分開的搜索系統(tǒng)生成所述關(guān)系數(shù)據(jù)庫(kù)中的信息的索引,該索引可被用來(lái)查找業(yè)務(wù)記錄(或?qū)嶓w)。一種也與所述關(guān)系數(shù)據(jù)庫(kù)分開的搜索系統(tǒng),接收搜索用戶輸入機(jī)制中的鍵入或其他字符輸入,以及基于接收到的所述鍵入輸入或其他字符輸入生成針對(duì)所述索引的查詢。所述搜索系統(tǒng)返回結(jié)果并在接收到附加鍵入輸入或字符時(shí)修改這些結(jié)果。
[0009]提供本概述以便以簡(jiǎn)化的形式介紹將在以下詳細(xì)描述中進(jìn)一步描述的一些概念。本概述并非旨在標(biāo)識(shí)所要求保護(hù)的主題的關(guān)鍵特征或必要特征,也不旨在用于幫助確定所要求保護(hù)的主題的范圍。所要求保護(hù)的主題不限于解決在背景中提及的任何或所有缺點(diǎn)的實(shí)現(xiàn)。
【附圖說(shuō)明】
[0010]圖1是包括搜索系統(tǒng)連同關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)的業(yè)務(wù)數(shù)據(jù)系統(tǒng)的一個(gè)說(shuō)明性實(shí)施例的框圖。
[0011]圖2是示出在生成索引時(shí)圖1所示的系統(tǒng)的操作的一個(gè)實(shí)施例的流程圖。
[0012]圖2A示出索引的一部分的一個(gè)簡(jiǎn)化實(shí)施例。
[0013]圖3是示出在針對(duì)關(guān)系數(shù)據(jù)庫(kù)執(zhí)行即時(shí)搜索功能時(shí)圖1所示的系統(tǒng)的操作的一個(gè)實(shí)施例的流程圖。
[0014]圖3A-3E示出說(shuō)明性用戶界面顯示。
[0015]圖4示出包括云計(jì)算體系結(jié)構(gòu)在內(nèi)的各體系結(jié)構(gòu)中的圖1所示的系統(tǒng)的一個(gè)實(shí)施例。
[0016]圖5-9不出了移動(dòng)設(shè)備的各種實(shí)施例。
[0017]圖10示出了計(jì)算環(huán)境的框圖的一個(gè)實(shí)施例。
[0018]詳細(xì)描述
[0019]圖1是具有與關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)102通信的即時(shí)搜索系統(tǒng)(此后稱為搜索系統(tǒng))100的業(yè)務(wù)數(shù)據(jù)系統(tǒng)98的一個(gè)說(shuō)明性實(shí)施例的框圖。圖1還示出了索引組件104和具有為用戶110生成用戶界面顯示108的用戶界面組件109的客戶端106。在一個(gè)實(shí)施例中,客戶端106說(shuō)明性地是瀏覽器或客戶端設(shè)備上的另一應(yīng)用或組件。
[0020]業(yè)務(wù)數(shù)據(jù)系統(tǒng)98可以是各種各樣的不同類型的業(yè)務(wù)數(shù)據(jù)系統(tǒng)中的任一種。例如,它可以是企業(yè)資源規(guī)劃(ERP)系統(tǒng)、客戶關(guān)系管理(CRM)系統(tǒng)、業(yè)務(wù)線(LOB)系統(tǒng)或各種各樣的其他業(yè)務(wù)系統(tǒng)。在任何情況下,關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)102被提供在業(yè)務(wù)數(shù)據(jù)系統(tǒng)98中以用于訪問(wèn)業(yè)務(wù)數(shù)據(jù)記錄118。業(yè)務(wù)數(shù)據(jù)組件103說(shuō)明性地實(shí)現(xiàn)了特定系統(tǒng)(諸如ERP系統(tǒng)、CRM系統(tǒng)、LOB系統(tǒng),等等)并且執(zhí)行允許用戶110訪問(wèn)并操縱關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)的功能。
[0021]處理器129也說(shuō)明性地是具有相關(guān)聯(lián)的存儲(chǔ)器和時(shí)序電路(未分開示出)的計(jì)算機(jī)處理器。它說(shuō)明性地是業(yè)務(wù)數(shù)據(jù)系統(tǒng)98的功能部分,且由業(yè)務(wù)數(shù)據(jù)系統(tǒng)98內(nèi)的各組件和系統(tǒng)來(lái)激活,并且促進(jìn)這些組件和系統(tǒng)的功能。
[0022]圖1示出關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)102包括數(shù)據(jù)庫(kù)服務(wù)器112、處理器114、以及本身包括業(yè)務(wù)數(shù)據(jù)記錄118的關(guān)系數(shù)據(jù)庫(kù)116。將注意到,盡管本系統(tǒng)可參考存儲(chǔ)在關(guān)系數(shù)據(jù)庫(kù)中的任何類型的數(shù)據(jù)來(lái)描述,但出于示例的目的,在此參考包括業(yè)務(wù)數(shù)據(jù)記錄118的業(yè)務(wù)數(shù)據(jù)庫(kù)系統(tǒng)來(lái)描述。業(yè)務(wù)數(shù)據(jù)記錄118可以是各種各樣的不同類型的業(yè)務(wù)數(shù)據(jù)記錄,諸如產(chǎn)品記錄、客戶記錄、聯(lián)系人記錄、財(cái)務(wù)記錄、銷售記錄、人員記錄、或各種各樣的其他業(yè)務(wù)記錄。
[0023]在該示例中,業(yè)務(wù)數(shù)據(jù)記錄118包括實(shí)體120、查找元數(shù)據(jù)122(即,允許查找或通過(guò)搜索檢索各單獨(dú)實(shí)體120的元數(shù)據(jù))、表達(dá)各實(shí)體120之間的關(guān)系的關(guān)系元數(shù)據(jù)124、以及許多其他元數(shù)據(jù)126。
[0024]處理器114說(shuō)明性地是具有相關(guān)聯(lián)的存儲(chǔ)器和時(shí)序電路(未分開示出)的計(jì)算機(jī)處理器。處理器114說(shuō)明性地由數(shù)據(jù)庫(kù)服務(wù)器組件112和關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)102中的其他項(xiàng)來(lái)激活并促進(jìn)它們的功能。當(dāng)然,將明白,處理器114實(shí)際上可包括多個(gè)處理器或單個(gè)處理器,且它也可被集成到數(shù)據(jù)庫(kù)服務(wù)器組件112或其他項(xiàng)。僅出于示例目的,它被分開示為處理器114。
[0025]在業(yè)務(wù)數(shù)據(jù)系統(tǒng)的正常操作期間,關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)102的用戶110說(shuō)明性地輸入針對(duì)關(guān)系數(shù)據(jù)庫(kù)116的查詢以查找業(yè)務(wù)數(shù)據(jù)記錄118。該查詢說(shuō)明性地是通過(guò)Π顯示108上的用戶輸入機(jī)制來(lái)輸入的,并且被提供給數(shù)據(jù)庫(kù)服務(wù)器組件112,數(shù)據(jù)庫(kù)服務(wù)器組件112針對(duì)關(guān)系數(shù)據(jù)庫(kù)執(zhí)行該查詢并基于該查詢返回結(jié)果。
[0026]系統(tǒng)98還包括搜索系統(tǒng)100,搜索系統(tǒng)100說(shuō)明性地包括處理器128、搜索組件130以及即時(shí)搜索索引(此后稱為搜索索引)132。在操作中,搜索系統(tǒng)100實(shí)現(xiàn)針對(duì)關(guān)系數(shù)據(jù)庫(kù)116的即時(shí)搜索功能,而沒有顯著地增加關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)102的索引開銷或查詢開銷。這在以下參考圖3更詳細(xì)地描述。然而,出于示例的目的,現(xiàn)在提供簡(jiǎn)要概覽。
[0027]索引組件104說(shuō)明性地對(duì)關(guān)系數(shù)據(jù)庫(kù)116中的業(yè)務(wù)數(shù)據(jù)記錄118間歇地進(jìn)行索弓I。索引組件104這樣做以生成搜索索引132。在用戶110輸入搜索時(shí)(諸如在Π顯示108或另一合適的用戶輸入機(jī)制之一上生成的搜索域中鍵入字符),客戶端106將該輸入134提供給搜索組件130,搜索組件130基于接收到的每一單獨(dú)的字符針對(duì)搜索索引132執(zhí)行查詢。在一個(gè)實(shí)施例中,可針對(duì)用戶輸入的每一字符輸入執(zhí)行一個(gè)查詢。這只是一個(gè)示例,且該系統(tǒng)在此以此方式來(lái)描述。在另一實(shí)施例中,查詢的數(shù)量可通過(guò)等待執(zhí)行查詢直至用戶暫停提供輸入達(dá)預(yù)定義時(shí)間段來(lái)降低。例如,如果用戶暫停鍵入達(dá)例如300ms,則執(zhí)行查詢。當(dāng)然,該預(yù)定義時(shí)間段可以更短或更長(zhǎng),且可通過(guò)經(jīng)驗(yàn)或其他方式來(lái)確定。在任何情況下,組件130基于針對(duì)索引132執(zhí)行的查詢來(lái)返回搜索結(jié)果136。在用戶110向搜索域繼續(xù)鍵入字符時(shí),搜索組件130基于這些附加輸入來(lái)細(xì)化針對(duì)索引132的搜索并向客戶端106返回經(jīng)修訂的結(jié)果136??蛻舳?06說(shuō)明性地在UI顯示108上的用戶110正用來(lái)進(jìn)行搜索的搜索域附近顯示結(jié)果136。
[0028]在更詳細(xì)地描述即時(shí)搜索功能之前,將參考圖2描述索引組件104的操作的一個(gè)實(shí)施例。圖2是示出生成搜索系統(tǒng)100的搜索索引132的索引組件104的操作的一個(gè)實(shí)施例的流程圖。<