本文介绍HBase Search全文索引更新配置集的方法。
前提条件
下载并安装Shell,具体请参见Shell访问指导。
注意事项
建议使用dynamicField功能,不单独定义每个索引列,避免频繁修改
managed-schema
文件。每个索引需要有自己的配置集,不建议多个索引共享配置集。
如果需要自己定义配置,请下载
_indexer_default
配置集后,在此基础上进行修改。
下载默认的配置集模板
执行以下命令下载默认的配置集模板_indexer_default
,在其基础上进行编辑,添加业务自定义的配置。
cd alisolr-7.3.8-bin/bin
./solr zk ls /configs # 查询已有的配置集列表
./solr zk downconfig -d . -n _indexer_default # 下载配置集_indexer_default到当前目录
执行上述命令成功后,在当前目录下会生成一个conf的目录,其中有两个重要的文件:managed-schema
和solrconfig.xml
。
创建新的配置集
下面给出一个简单的示例:
打开
managed-schema
文件。增加两个新的索引列定义,增加内容如下:
<field name="name" type="string" indexed="true" stored="true" required="false" multiValued="false" /> <field name="age" type="pint" indexed="true" stored="true" docValues="true" multiValued="false" />
说明name
是string类型,age
是基本int类型(pint代表int,plong代表long),两个列都需要建立索引indexed=true
,并且都需要存储原始数据stored=true
。每增加一个新列,都需要在文件中定义好,当需要增加非常多的列时,定义起来会比较复杂。此时,可以使用Search服务提供的动态列能力,参考
managed-schema
中的dynamicField
定义,有了它之后不需要额外定义每个列,只需要在写入数据时指定的列名称后缀与定义保持一致即可。例如:
name_s
可以自动匹配*_s
。age_i
可以自动匹配*_i
。
上传配置集。
修改完后,可以上传自定义的配置集(建议每个collection对应一个配置集),执行如下命令:
./search-cli zk upconfig -d conf/ -n myconf
在集群管理系统查看配置集是否上传成功。
选择
,查看配置集myconf
是否上传成功。