云端數(shù)據(jù)庫對(duì)于存儲(chǔ)和管理結(jié)構(gòu)化數(shù)據(jù)來說是十分理想的,尤其是它可以巧妙地將數(shù)據(jù)整合到關(guān)系表中。但企業(yè)處理的許多數(shù)據(jù)都是非結(jié)構(gòu)化或半結(jié)構(gòu)化的。另外,還有一些企業(yè)的數(shù)據(jù)由易于查找的自由格式文本組成。關(guān)系型數(shù)據(jù)庫處理有關(guān)成本、尺寸和數(shù)量等產(chǎn)品信息。然而,如果增加了幾個(gè)段落的詳細(xì)說明,那么數(shù)據(jù)庫就會(huì)無法正常工作。在這種情況下,企業(yè)就需要搜索引擎的支持了。
搜索引擎是一種應(yīng)用程序,它允許用戶使用與關(guān)系型數(shù)據(jù)庫幾乎相同的方式來查詢結(jié)構(gòu)化或半結(jié)構(gòu)化數(shù)據(jù)。企業(yè)在AWS云上存儲(chǔ)和管理著大量半結(jié)構(gòu)化內(nèi)容,以便于使用AmazonCloudSearch 來獲取數(shù)據(jù)。
一些搜索引擎用來處理半結(jié)構(gòu)化或非結(jié)構(gòu)化數(shù)據(jù),并能讀取多種文件類型,如DOCX,PDF和TXT。亞馬遜CloudSearch還可以兼容JSON或XML文檔。所以,如果你的數(shù)據(jù)內(nèi)容是不同的形式,就需要把數(shù)據(jù)格式預(yù)處理為這些格式之一。
CloudSearch在域中組織著半結(jié)構(gòu)化數(shù)據(jù);類似于關(guān)系型數(shù)據(jù)庫,其數(shù)據(jù)表中包含若干行數(shù)據(jù),域中包含著文檔。該文檔包括字段名和值。舉例來說,如果你有一個(gè)用來搜索電子郵件的域,其文檔將包括以下字段,如發(fā)件人、收件人、抄送、主題和信息。
使用亞馬遜CloudSearch的第一步是在你的文檔里定義字段。每個(gè)字段中,你可以闡明該字段中的數(shù)據(jù)是否可搜索、用戶是否能夠在該字段進(jìn)行排序以及其他處理選項(xiàng)。CloudSearch也提供了提取樣本數(shù)據(jù)的功能,從而避免了手動(dòng)指定所有字段和處理選項(xiàng),節(jié)省了時(shí)間。
一旦確定了域,文檔就可以加載到CloudSearch.。然后,它們根據(jù)域的配置來進(jìn)行處理。這可以包括刪除常用詞、不能在云計(jì)算數(shù)據(jù)庫中搜索到的停止字符,否則將會(huì)占用不必要的空間。在一個(gè)“stemming”進(jìn)程中,文檔中的文本也有可能包含已經(jīng)被詞根替代的單詞。這有助于提高匹配、降低存儲(chǔ)空間,例如像“rain”、“rained”和“raining”這些詞都?xì)w結(jié)為詞根“rain”。
當(dāng)文檔被加載,文字索引建成后,CloudSearch域就已經(jīng)具備了查詢功能。如關(guān)系數(shù)據(jù)庫,它也可以做復(fù)雜或簡(jiǎn)單的查詢。用戶可以搜索一個(gè)簡(jiǎn)單的詞組,像“耳機(jī)”或者其他更有針對(duì)性的單詞,例如,“這個(gè)字段描述應(yīng)該包含‘耳機(jī)’,價(jià)格字段應(yīng)該‘少于25元’并且第一個(gè)可用日期應(yīng)該是‘過去的十二月之內(nèi)’”。
想要執(zhí)行這種布爾搜索,開發(fā)者必須要熟悉CloudSearch的查詢語法。開發(fā)人員創(chuàng)建一個(gè)搜索界面使終端用戶可以指定字段和值,同時(shí)可以隱藏CloudSearch查詢語法的復(fù)雜性。
訪問和擴(kuò)展亞馬遜CloudSearch 為了管理域、加載文件和查詢域,CloudSearch擁有三個(gè)接入點(diǎn),分別為管理控制臺(tái)、命令行界面或編程語言的API。
和其他AWS服務(wù)一樣,對(duì)于現(xiàn)有實(shí)例來說,如果你的文件索引或查詢處理負(fù)荷過高,那么CloudSearch的規(guī)模將會(huì)擴(kuò)大。CloudSearch可與小型、大型、特大型和雙倍超大的搜索實(shí)例協(xié)同工作;其價(jià)格范圍從0.10美元/每小時(shí)到1.10美元/每小時(shí)。當(dāng)CloudSearch進(jìn)行擴(kuò)展時(shí),它會(huì)啟動(dòng)一個(gè)更大的實(shí)例。如果CloudSearch已經(jīng)使用了最大實(shí)例,它將把文件分區(qū)并使用多臺(tái)服務(wù)器來索引文檔或響應(yīng)查詢。
CloudSearch支持特殊屬性搜索引擎,包括多種語言、高級(jí)搜索選項(xiàng)、自動(dòng)查詢和結(jié)果高亮化等功能。為了保護(hù)內(nèi)容,該應(yīng)用程序還集成了身份訪問管理器。它也可以指定一個(gè)或多個(gè)IP地址,這些IP地址可以允許加載文件到數(shù)據(jù)庫中。