博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
表格存储如何在控制台使用多元索引(SearchIndex)功能
阅读量:6760 次
发布时间:2019-06-26

本文共 2753 字,大约阅读时间需要 9 分钟。

背景:

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

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

使用介绍:

1、申请邀测

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

  • 提交工单:选择【表格存储】>【产品功能、特性咨询】>【创建工单】
  • 问题描述:请填写【申请SearchIndex邀测】
  • 机密信息:请填写【地域+实例名】,例:上海+myInstanceName(实例应已存在)
  • 工单地址:

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

创建索引时的设置说明:

  • 索引字段类型支持:
索引字段类型 类型英文 主表字段类型 示例 支持情况
字符串 KEYWORD STRING "consumer_id" SDK、控制台支持
分词字符串 TEXT STRING "It's a delicious apple!"" SDK、控制台支持
长整型 LONG INTEGER 10000 SDK、控制台支持
浮点数 DOUBLE DOUBLE 11.11 SDK、控制台支持
布尔值 BOOLEAN BOOLEAN true SDK、控制台支持
嵌套文档 NESTED STRING "{'key':'value'}" SDK支持
地理位置 GEO_POINT STRING "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(主键列) String KEYWORD 均匀散列的字符串 order_id_103
times_tamp long LONG 交易时间戳 1531461600000
consumer_id String KEYWORD 消费者 consumer_5
seller_id String KEYWORD 商家unique编号 seller_1
product_id String KEYWORD 产品unique编号 product_3
product_name String KEYWORD 产品名 big red apple
product_type String KEYWORD 产品类型 food
product_price double DOUBLE 产品单价 5.60
product_count double 3
total_pay double 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

转载地址:http://vwdeo.baihongyu.com/

你可能感兴趣的文章
Authorization Bypass in RSA NetWitness
查看>>
把ISO文件当作光盘挂载
查看>>
C#下Emgucv的配置
查看>>
你未必了解的DNS
查看>>
pycharm的放大和缩小字体的显示 和ubunt的截圖工具使用 ubuntu上安装qq微信等工具...
查看>>
【Java基础】sun.misc.BASE64和Java 8 java.util.Base64区别
查看>>
响应式开发的思路和断点的选择
查看>>
使用PL/SQL连接Oracle时报错ORA-12541: TNS: 无监听程序
查看>>
Mac011--DbWrench Database安装
查看>>
[原]Flash研究(一)——本地通讯
查看>>
bootStrap table 和 JS 开发过程中遇到问题汇总
查看>>
【小知识点】input输入框在安卓以及IOS手机中光标及字体不居中解决方法
查看>>
VB 设置循环,以及弹出messageBox
查看>>
经典算法-链表(golang)
查看>>
leetcode — search-a-2d-matrix
查看>>
魔板 bfs() 预处理,记录每种状态。然后状态置换,(重点要用到全排列的hash记录状态)...
查看>>
构建之法课后作业第一次作业(15个题选一个)
查看>>
操作redis方法
查看>>
C语言函数
查看>>
Python3-异常处理
查看>>