多元索引(Search Index)基於倒排索引和列式儲存,可以解決巨量資料的多維查詢和統計分析難題。本文介紹如何通過Java SDK使用多元索引。
索引管理
多元索引支援的管理操作請參見下表說明。
操作 | 說明 |
為資料表建立一個多元索引。 | |
列出指定表下的多元索引。 | |
更新多元索引的資料生命週期。 | |
查詢多元索引的描述資訊,包括多元索引的欄位資訊和索引配置等。 | |
刪除不需要的多元索引。 | |
按需清理多元索引中的歷史資料或者延長資料儲存時間。 |
資料類型
多元索引不僅提供了 Long、Double、Boolean、Keyword、Text、Date、Geopoint、Vector 等基礎資料型別 (Elementary Data Type),還提供了數群組類型和巢狀型別兩種特殊類型。更多資訊,請參見資料類型。
如果要在不改變Table Store的儲存結構及資料的情況下實現新欄位新資料類型的查詢功能,您可以使用多元索引虛擬列實現。更多資訊,請參見虛擬列。
資料查詢
多元索引支援的查詢功能請參見下表說明,請按需選擇合適的查詢類型。
功能分類 | 查詢類型 | 說明 |
基礎查詢 | 匹配所有行,常用於查詢表中資料總行數,或者隨機返回幾條資料。 | |
採用完整精確匹配的方式查詢表中的資料,類似於字串匹配。 | ||
支援指定多個查詢關鍵詞,查詢匹配這些詞的資料。多個查詢關鍵詞中只要有一個詞能精確匹配,該行資料就會被返回,等價於SQL中的In。 | ||
根據指定首碼條件查詢表中的資料。 | ||
根據指定尾碼條件查詢表中的資料。 | ||
根據指定範圍條件查詢表中的資料。 | ||
根據帶萬用字元的字串查詢表中的資料。 | ||
NULL查詢或者空值查詢,一般用於判斷稀疏資料中某一行的某一列是否存在。 | ||
按照某一列對結果集做摺疊,使對應類型的資料在結果展示中只出現一次,保證結果展示中類型的多樣性。 | ||
包括地理距離查詢、地理長方形範圍查詢和地理多邊形範圍查詢三種方式。
| ||
查詢巢狀型別欄位中的子行資料。 | ||
資料處理 | 使用多元索引查詢資料時,通過預先定義排序方式或者查詢時指定排序方式,您可以按照指定相片順序擷取到返回資料。 當返回結果行數較多時,通過使用跳轉翻頁或者連續翻頁可以快速定位到所需資料。 | |
可以實現求最小值、求最大值、求和、求平均值、統計行數、去重統計行數、百分位統計、按欄位值分組、按範圍分組、按地理位置分組、按過濾條件分組、長條圖統計、日期長條圖統計、擷取統計彙總分組內的行、巢狀查詢等;同時多個統計彙總功能可以組合使用,滿足複雜的查詢需求。 | ||
組合查詢 | 查詢條件支援包含一個或者多個子查詢條件,根據子查詢條件來判斷一行資料是否滿足查詢條件。 | |
全文檢索索引 | 採用近似匹配的方式查詢表中的資料。 | |
類似於匹配查詢,但是分詞後多個詞的位置關係會被考慮,只有分詞後的多個詞在行資料中以同樣的順序和位置存在時,才表示行資料滿足查詢條件。 | ||
在查詢資料時通過設定高亮參數,返回命中查詢詞的片段資訊並對查詢詞進行高亮顯示。 | ||
向量檢索 | 使用數值向量進行近似最近鄰查詢,可以在大規模資料集中找到最相似的資料項目。 |
資料匯出
當使用情境中不關心整個結果集的順序時,如需以更快的速度將命中的資料全部返回,請參見並發匯出資料。