快速入门
全文索引功能目前已经全面升级,使用老架构的标准版全文索引服务即将下线,新用户请移步增强版全文索引功能
本文从一个简单的 Demo 介绍开始,快速入门体验云 HBase “全文索引服务”的功能。整体流程是:开通全文服务 → 创建索引 → 写入HBase数据 → 查看 Solr 索引数据
1. 开通全文索引服务
在云 HBase 实例控制台左侧“全文索引服务”标签页,点击申请开通全文索引服务,等待片刻后服务即可使用。如图:
开通成功之后,如图:
2. 创建索引
创建索引核心分为3步:创建 HBase 表 solrdemo
、创建 Solr 表 democollection
、创建 solrdemo
与 democollection
的字段映射关系。下面介绍一个简单示例演示,快速体验服务使用流程。
2.1 创建 HBase 表
使用 HBase Shell,创建 HBase 表如下:
hbase shell> create 'solrdemo', {NAME=>'info', REPLICATION_SCOPE=>'1'}
2.2 创建 Solr 表
进入 Solr WebUI 创建 democollection
表,选择 _indexer_default
配置目录 如下图:
如何访问 Solr WebUI 参考链接。
2.3 创建索引映射关系
然后我们创建 HBase 表 solrdemo
到 Solr 表 democollection
的索引字段映射关系配置文件,简单起见,我们假设solrdemo
的 info:name
映射到 democollection
的 name_s
字段,则编辑 demo.xml
文件内容如下:
<indexer table="solrdemo">
<field name="name_s" value="info:name" type="string" />
<param name="update_version_l" value="true"/>
</indexer>
然后下载 solr-7.3.1-ali-1.0.tar.gz 包并解压如下:
wget http://public-hbase.oss-cn-hangzhou.aliyuncs.com/installpackage/solr-7.3.1-ali-1.1.tgz
tar zxvf solr-7.3.1-ali-1.1.tgz
修改 solr-7.3.1-ali-1.1/bin/solr.in.sh 文件的 ZK_HOST
值,去掉注释,并设置
ZK_HOST="hb-xxxxxx-master2-001.hbase.rds.aliyuncs.com:2181,hb-xxxxxx-master3-001.hbase.rds.aliyuncs.com:2181,hb-xxxxxx-master1-001.hbase.rds.aliyuncs.com:2181/solr"
此地址见 Solr 开通页面的客户端访问地址,如下:
注:上述配置流程中的 ZK 地址是内网地址,如果是想通过公网访问,请填写 ${公网 ZK 地址}/solr
即可。公网 ZK 地址获取,请参考 公网访问方案。
接下来运行以下命令创建 demoindex
索引,把 solrdemo
和 democollection
根据 demo.xml
关联起来,如下:
solr-7.3.1-ali-1.1/bin/solr-indexer add -n demoindex -f demo.xml -c democollection
接下来,我们运行 solr-indexer list命令查看刚刚添加的索引是否已经添加成功,如下:
solr-7.3.1-ali-1.1/bin/solr-indexer list
显示如下:
demoindex
......
+ Connection params:
+ solr.zk = hb-xxxxxx-master2-001.hbase.rds.aliyuncs.com:2181,hb-xxxxxx-master3-001.hbase.rds.aliyuncs.com:2181,hb-xxxxxx-master1-001.hbase.rds.aliyuncs.com:2181/solr
+ solr.collection = democollection
+ Indexer config:
142 bytes, use -dump to see content
+ Processes
+ 4 running processes //注:有多少个worker,就有多少个running,表示成功了
+ 0 failed processes
......
有多少个 Worker,就有多少个 running process
,表示成功了。比如此实例规格是 4 个 Worker 的 HBase 实例,那这里就有 4 个 running process
。如果没有4个,请检查上述步骤配置是否有错误,或联系“云HBase答疑”客服咨询 & 帮助。
注意:其他的 solr-indexer 命令请参阅命令 help,请仔细阅读 help,并确认命令效果后再执行。
3. 写入HBase 数据
HBase Shell 写入简单一个数据如下:
hbase shell> put 'solrdemo','row1','info:name','Tom'
4. 查看 Solr 索引数据
进入 Solr WebUI 的选择对应 Collection,直接点击 query 按钮查看数据,如图:
可以看到,Solr 的 document 数据的 id 字段就是 HBase 的 RowKey。在实际进行条件查询的时候,我们可以使用 Solr API 进行查询,拿到 Solr 返回的 id 列表,逐个 id 当作 HBase 的 RowKey 调用 HBase Get 接口即可拿到符合各种复杂条件的 HBase数据了。
注:插入数据后,默认 Solr 延迟 15s 左右,即为 auto commit 时间间隔,所以可能需要等一下才能看到。当然,也可以主动触发 commit 来立刻查看刚写入的数据。
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。
评论