表格存储如何在控制台使用多元索引(SearchIndex)功能

背景:

多元索引(SearchIndex)是TableStore 2018年重点打造的核心能力,目的是为在线数据平台(TableStore)提供丰富的查询能力, 目前提供了多种索引能力,包括倒排索引、多维空间索引等。在功能上,支持多字段ad-hoc查询、模糊查询、范围查询 、全文检索、嵌套查询、排序等查询功能。索引支持全量、增量同步,新表、旧表均能使用SearchIndex功能。详细功能见https://yq.aliyun.com/articles/641629

我们首先会在北京、上海区域开放SearchIndex功能的邀测,在邀测阶段,SearchIndex部分的费用免收, 有兴趣参加邀测的用户通过提交工单方式提交申请,或者加入钉钉群11789671进行咨询。

使用介绍:

1、申请邀测

SearchIndex邀测阶段,仅支持【北京、上海】两个地区,用户申请邀测需通过阿里云官网提交工单。具体见截图

image.png | left | 747x281

image.png | left | 747x211

image.png | left | 747x258

2、创建表

通过邀测申请的用户,实例下所有表均支持SearchIndex功能,但是表必须满足条件(ttl=-1,maxVersion=1)。支持SearchIndex功能的实例,建表时默认开启SearchIndex功能。表格建好后,通过【索引管理】进入索引页面。
注意:创建索引后,表的Stream功能会默认开启,如果此时关闭Stream功能,将会影响SearchIndex,导致索引无法同步。

image.png | left | 747x125

3、创建索引

初始状态,用户的索引列表为空,用户点击【创建索引】后天厨创建窗口。单个表可创建多索引,根据自身需要设计索引,邀测阶段每个实例最多创建20个索引。例如:

image.png | left | 747x155

image.png | left | 747x429

创建索引时的设置说明:
  • 索引字段类型支持:
索引字段类型类型英文主表字段类型示例支持情况
字符串KEYWORDSTRING"consumer_id"SDK、控制台支持
分词字符串TEXTSTRING"It's a delicious apple!""SDK、控制台支持
长整型LONGINTEGER10000SDK、控制台支持
浮点数DOUBLEDOUBLE11.11SDK、控制台支持
布尔值BOOLEANBOOLEANtrueSDK、控制台支持
嵌套文档NESTEDSTRING"{'key':'value'}"SDK支持
地理位置GEO_POINTSTRING"30.132308,120.080190"SDK支持
  • 索引字段设置:
设置功能限制
是否索引开启后会对TableStore中同名列创建索引。(未设置的列无法查询)
允许排序开启后TableStore中同名列可以支持排序。(未设置的了排序会报错)TEXT禁止设置
附加存储额外在索引中附带一份同名列的值,返回该列原始值的时候性能更好。TEXT不推荐设置

4、索引列表

索引创建后,在索引管理页面可看到表下所有索引列表,如下图:

  • 索引字段:显示索引字段信息;
  • 数据查询:使用该索引搜索数据;
  • 删除:删除该索引;

image.png | left | 747x184

索引字段说明:

点击【索引字段】后,查看该索引的字段信息如下图,通过SDK创建的含有NESTED、GEO_POINT的字段信息也会展示,控制台暂不支持两种类型字段创建与查询。

image.png | left | 507x389

5、插入数据

数据查询前,别忘记主表数据是空的,记着插入数据。如下为数据的示例用户试用可仅插入几个字段
表名:"orderTable"

列名类型索引类型索引字段示例
order_id(主键列)StringKEYWORD均匀散列的字符串order_id_103
times_tamplongLONG交易时间戳1531461600000
consumer_idStringKEYWORD消费者consumer_5
seller_idStringKEYWORD商家unique编号seller_1
product_idStringKEYWORD产品unique编号product_3
product_nameStringKEYWORD产品名big red apple
product_typeStringKEYWORD产品类型food
product_pricedoubleDOUBLE产品单价5.60
product_countdouble 3
total_paydouble 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

image.png | left | 747x433

根据以上条件可查询出如下数据。其中,数据只返回了主键+定义的【返回那些列】,同时按照【time_stamp】字段【倒序】排列返回,查询一共命中382条。

image.png | left | 747x455

欢迎加入

对TableStore感兴趣的用户,欢迎加入【表格存储公开交流群】,群号:11789671。

image | left | 507x654

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值