天天看點

表格存儲如何在控制台使用多元索引(SearchIndex)功能背景:使用介紹:歡迎加入

背景:

多元索引(SearchIndex)是TableStore 2018年重點打造的核心能力,目的是為線上資料平台(TableStore)提供豐富的查詢能力, 目前提供了多種索引能力,包括反向索引、多元空間索引等。在功能上,支援多字段ad-hoc查詢、模糊查詢、範圍查詢 、全文檢索、嵌套查詢、排序等查詢功能。索引支援全量、增量同步,新表、舊表均能使用SearchIndex功能。詳細功能見

https://yq.aliyun.com/articles/641629

我們首先會在北京、上海區域開放SearchIndex功能的邀測,在邀測階段,SearchIndex部分的費用免收, 有興趣參加邀測的使用者通過送出工單方式送出申請,或者加入釘釘群11789671進行咨詢。

使用介紹:

1、申請邀測(現已開放)

SearchIndex邀測階段,僅支援【北京、上海】兩個地區,使用者申請邀測需通過阿裡雲官網送出工單。

2、建立表

通過邀測申請的使用者,執行個體下所有表均支援SearchIndex功能,但是表必須滿足條件(ttl=-1,maxVersion=1)。支援SearchIndex功能的執行個體,建表時預設開啟SearchIndex功能。表格建好後,通過【索引管理】進入索引頁面。

注意:建立索引後,表的Stream功能會預設開啟,如果此時關閉Stream功能,将會影響SearchIndex,導緻索引無法同步。

表格存儲如何在控制台使用多元索引(SearchIndex)功能背景:使用介紹:歡迎加入

3、建立索引

初始狀态,使用者的索引清單為空,使用者點選【建立索引】後天廚建立視窗。單個表可建立多索引,根據自身需要設計索引,邀測階段每個執行個體最多建立20個索引。例如:

表格存儲如何在控制台使用多元索引(SearchIndex)功能背景:使用介紹:歡迎加入
表格存儲如何在控制台使用多元索引(SearchIndex)功能背景:使用介紹:歡迎加入

建立索引時的設定說明:

  • 索引字段類型支援:
索引字段類型 類型英文 主表字段類型 示例 支援情況
字元串 KEYWORD STRING "consumer_id" SDK、控制台支援
分詞字元串 TEXT "It's a delicious apple!""
長整型 LONG INTEGER 10000
浮點數 DOUBLE 11.11
布爾值 BOOLEAN true
嵌套文檔 NESTED "{'key':'value'}" SDK支援
地理位置 GEO_POINT "30.132308,120.080190"
  • 索引字段設定:
設定 功能 限制
是否索引 開啟後會對TableStore中同名列建立索引。(未設定的列無法查詢)
允許排序 開啟後TableStore中同名列可以支援排序。(未設定的了排序會報錯) TEXT禁止設定
附加存儲 額外在索引中附帶一份同名列的值,傳回該列原始值的時候性能更好。 TEXT不推薦設定

4、索引清單

索引建立後,在索引管理頁面可看到表下所有索引清單,如下圖:

  • 索引字段:顯示索引字段資訊;
  • 資料查詢:使用該索引搜尋資料;
  • 删除:删除該索引;
表格存儲如何在控制台使用多元索引(SearchIndex)功能背景:使用介紹:歡迎加入

索引字段說明:

點選【索引字段】後,檢視該索引的字段資訊如下圖,通過SDK建立的含有NESTED、GEO_POINT的字段資訊也會展示,控制台暫不支援兩種類型字段建立與查詢。

表格存儲如何在控制台使用多元索引(SearchIndex)功能背景:使用介紹:歡迎加入

5、插入資料

資料查詢前,别忘記主表資料是空的,記着插入資料。如下為資料的示例使用者試用可僅插入幾個字段

表名:"orderTable"

列名 類型 索引類型 索引字段
order_id(主鍵列) String 均勻散列的字元串 order_id_103
times_tamp long 交易時間戳 1531461600000
consumer_id 消費者 consumer_5
seller_id 商家unique編号 seller_1
product_id 産品unique編号 product_3
product_name 産品名 big red apple
product_type 産品類型 food
product_price double 産品單價 5.60
product_count 3
total_pay 16.80
......

6、資料查詢

點選【資料查詢】後,填寫查詢條件,

  • 索引名選擇:可切換使用其他索引;
  • 是否排序:設定傳回資料是否排序,彈出排序設定;
  • 傳回那些列:設定傳回資料的列(主鍵部分全傳回),若設定為空僅傳回主鍵列資料;
  • 全部列:FALSE時按設定傳回,TRUE時傳回主表中所有列(包含非索引字段列);
  • 增加And條件:控制台僅支援條件的And組合(不支援NESTED、GEO_POINT字段);
  • 增加排序:排序條件的配置,控制台不支援TEXT、NESTED、GEO_POINT字段;

條件類型說明

條件類型 英文 說明
精确查詢 TermQuery 精确比對KEYWORD,或比對TEXT中的分詞
範圍查詢 RangeQuery 條件左閉(>=)右開(<): [from, to)
字首查詢 PrefixQuery 字首模糊比對KEYWORD,或比對TEXT中的分詞
通配符查詢 WildcardQuery consumer_*,比對consumer_1等資料
比對查詢 MatchQuery

對KEYWORD精确比對,

對TEXT,先做分詞後,再比對TEXT中的分詞

短語比對查詢 MatchPhraseQuery 對TEXT,先做分詞後,再比對TEXT中的分詞

查詢操作

示例按照如下條件進行資料查詢

設定項 設定值 詳細
是否排序 time_stamp:逆序
查詢條件 ​兩個字段and

product_name比對查詢:apple

product_price範圍查詢:>=5.60

傳回那些列 非全部 seller_id,product_name,product_price,time_stamp
表格存儲如何在控制台使用多元索引(SearchIndex)功能背景:使用介紹:歡迎加入

根據以上條件可查詢出如下資料。其中,資料隻傳回了主鍵+定義的【傳回那些列】,同時按照【time_stamp】字段【倒序】排列傳回,查詢一共命中382條。

表格存儲如何在控制台使用多元索引(SearchIndex)功能背景:使用介紹:歡迎加入

歡迎加入

對TableStore感興趣的使用者,歡迎加入【表格存儲公開交流群】,群号:11789671。

表格存儲如何在控制台使用多元索引(SearchIndex)功能背景:使用介紹:歡迎加入