資料目錄搜尋語法參考
Azure 資料目錄是 Microsoft Azure 中裝載的完整受控服務,可作為企業資料來源的註冊和系統探索系統。 Azure 資料目錄具有可讓技術和非技術性使用者探索、瞭解及取用資料來源的功能。
資料探索的重要層面是能夠搜尋已在Azure 資料目錄中註冊的資料來源。 Azure 資料目錄具有功能強大的搜尋語法,可讓使用者輕鬆地建置查詢,以傳回使用者所需的資料。
搜尋語法概觀
Azure 資料目錄搜尋類似于 Microsoft Windows 和 Microsoft Outlook 所使用的搜尋,這些工具的使用者應該很熟悉。
查詢技術
技巧 | 用法 | 範例 |
---|---|---|
基本搜尋 | 使用一或多個搜尋字詞的基本搜尋。 結果包含了任何與一或多個指定字詞的內容相符的資產。 | sales data |
內容範圍 | 只會傳回搜尋字詞與指定內容相符的資料來源 | name:finance |
布林運算子 | 使用布林值作業擴大或縮小搜尋 | finance NOT corporate |
使用括號分組 | 使用括號將查詢部分分組,以達到邏輯隔離,尤其是與布林運算子結合。 | name:finance AND (tags:tag1 OR tags:tag2) |
比較運算子 | 針對具有數值和日期資料類型的內容進行比較而非相等 | creationTime>"11/05/2014" |
比對、比較和布林運算子
關鍵字/符號 | 範例 | 函式 |
---|---|---|
: | experts:user@domain.com tags:tag1 |
使用屬性範圍,並只傳回指定屬性包含所搜尋文字的資產。 查詢的語意為「前置詞相符」。 |
= | name=Sales name="Soft Drink Sales" |
允許使用者指定完全相符的專案。 只會傳回包含具有搜尋字詞值之屬性的資產。 |
<> | experts<>user1 tags<>tag2 |
「不等於」 運算子。 只會傳回沒有搜尋查詢中所指出值的那些資產。 |
"" | "social security" |
尋找包含確切片語社會安全的專案。 使用引號有一個特殊案例。 如果引號與屬性範圍搭配使用,語意會分組,但不是確切的片語。 在此情況下,行為與指定具名屬性兩次相同。 範例:name:「social security」 會尋找任何具有名稱屬性且具有社交字組的資產,或名稱屬性中具有安全性一詞。 |
() | (tags:tag1 AND tags:tag2) OR (name:sales AND database:salesfy15) |
尋找包含 tag1 和 tag2 的專案,或具有資料庫 salesfy15 中的名稱銷售。 通常與布林運算子搭配使用 |
>,>= | timestamp>"11/05/2014" |
尋找在 2014/11/05 之後具有修改日期的專案。 |
<,<= | timestamp<"11/05/2014" |
尋找日期在 2014/11/05 之前的專案。 |
NOT | social NOT security |
尋找包含社交但不包含安全性的專案。 |
AND | social AND security |
尋找包含社會和安全性的專案。 |
OR | social OR security |
尋找包含社會或安全性的專案。 |
Hsa: | has:tags has:description |
只允許篩選並只傳回設定指定屬性 (或屬性代表集合的資產, 它至少會保留一個專案) 。 |
備註
前置詞語意
根據預設,Azure 資料目錄中的所有搜尋都是使用稱為「前置詞比對語意」的技術來完成。 這表示任何搜尋字詞會在資產屬性的開頭開始比對。
例如,請考慮在Azure 資料目錄中註冊的兩個虛構資產,其名稱如下:
- SalesData
- Salesman Quotes
搜尋 「sales」 會傳回這兩個資產,因為它們的名稱都是以 「sales」 這個字開頭。 未來的 Azure 資料目錄版本包含完全相符運算子的支援。
屬性範圍搜尋
Azure 資料目錄查詢文法支援屬性範圍。 在目前的預覽中, 屬性範圍會區分大小寫。 這表示為了讓查詢能夠運作,搜尋查詢中屬性的實際大小寫必須符合索引中的內容。
在不存在的屬性 (搜尋不正確屬性,) 導致錯誤。
使用屬性範圍時,引號的行為會以特殊方式運作。 任何其他內容中的引號都表示確切的片語。 不過,在屬性範圍中使用引號時,語意會分組。 例如, name:"Sales Products"
執行任意文字搜尋,以尋找 「Sales」 或 「Products」 的名稱屬性內容。 因此, 的 name:"Sales Products"
語意與 name:Sales name:Products
完全相同。
可搜尋屬性中屬性名稱的一般準則是 camel-case,這表示第一個字母是小寫,然後每個字的第一個字母都是大寫。
最有用的屬性如下所列。
屬性 | 用法 | 範例 |
---|---|---|
NAME | 尋找搜尋字詞出現在資料來源名稱中的專案 | name:finance |
description | 尋找搜尋字詞出現在資料來源描述中的專案 | description:finance |
objectType | 尋找特定物件類型的專案,例如資料表、檢視或 KPI | objectType:table |
sourceType | 尋找特定資料來源類型的專案,例如SQL Server或SQL Server Analysis Services多維度 | sourceType:"tabular" |
tags | 尋找搜尋字詞出現在資料來源標籤中的專案 | tags:finance |
timestamp | 根據最近修改其中繼資料的日期和時間尋找專案 | timestamp:>"11/05/2014" |
lastRegisteredTime | 根據註冊其中繼資料的日期和時間尋找專案 | lastRegisteredTime:>"11/05/2014" |
friendlyName | 尋找搜尋字詞出現在資料來源易記名稱中的專案 | friendlyName: finance |
專家 | 尋找資料來源專家符合搜尋字詞的專案 | experts:user@example.com experts:user |
termName | 尋找搜尋字詞出現在套用至資料資產之商務詞彙中的專案 | termName:marketing |
您也可以使用下列屬性名稱以及 「has:」 篩選來檢查資產已設定特定屬性的位置。
屬性 | 用法 | 範例 |
---|---|---|
預覽 | 尋找包含預覽的專案 | has:preview |
文件 | 尋找包含檔的專案 | has:documentation |
tableDataProfiles | 尋找具有資料表設定檔 (大小、列數等專案 ) | has:tableDataProfiles |
columnsDataProfiles | 尋找具有資料行資料設定檔的專案, (相異值數目、最小值、最大值等 ) | has:columnsDataProfiles |
搜尋範例
下列各節顯示一些搜尋範例。
傳回名稱中具有 「sales」 的所有資產
name:sales
傳回在 2015/4/20 之後註冊的所有資產,其中包含任何屬性中的「銷售」
sales AND lastRegisteredTime>"4/20/2015"
傳回包含在任何屬性中銷售的所有資產,而且沒有 Q1FY2013 標籤
sales AND tags<>"Q1FY2013"
傳回沒有專家或指派檔的所有資產
not has:experts and not has:documentation