hbase基于solr的实时索引
来源:互联网 发布:htc数据流量无法打开 编辑:程序博客网 时间:2024/05/29 14:29
实时查询方案
Hbase -----> Key Value Store ---> Solr ------->Web前端实时查询展示
1.Hbase 提供海量数据存储
2.Solr提供索引构建与查询
3. Key Value Store 提供自动化索引构建(从Hbase到Solr)
使用流程
前提: CDH5.3.2Solr集群搭建好,CDH5.3.2 Key-Value StoreIndexer集群搭建好
1.开启Hbase的复制功能
2. Hbase表需要开启REPLICATION复制功能
create 'table',{NAME => 'cf', REPLICATION_SCOPE => 1} #其中1表示开启replication功能,0表示不开启,默认为0
对于已经创建的表可以使用如下命令
disable 'table'
alter 'table',{NAME => 'cf', REPLICATION_SCOPE => 1}
enable 'table'
3. 生成实体配置文件, /opt/hbase-indexer/Test是自定义路径,可以自己设置
solrctl instancedir --generate /opt/cdhsolr/waslog
4.编辑生成好的scheme.xml文件
把hbase表中需要索引的列添加到scheme.xml filed节点
5.创建collection实例并配置文件上传到zookeeper,命令
solrctl instancedir --create waslog /opt/cdhsor/waslog
6.上传到zookeeper之后,其他节点就可以从zookeeper下载配置文件。接下来创建collection,命令:
solrctl collection –create waslog -s 15 –r 2 –m 50
7 在一个目录创建一个xml文件,该文件确定solr和hbase的关系,示例如下
<?xml version="1.0" encoding="UTF-8"?>
<indexer table="pucentp_solr">
<field name="entpname" value="cf:entpname" />
<field name="address" value="cf:address" />
<field name="policyname" value="cf:policyname" />
<field name="policytel" value="cf:policytel" />
<field name="createtime" value="cf:createtime" />
<field name="updatetime" value="cf:updatetime" />
</indexer>
Table对应hbase表,fieldname对应solr里的索引字段 value是由列簇:列组成
8 在hbase-solr目录下的bin目录下执行hbase-indexer(cd /opt/cloudera/parcels/CDH-5.8.2-1.cdh5.8.2.p0.3/bin)
./hbase-indexeradd-indexer -n myindexer -c /home/test/index/mapper.xml -cpsolr.zk=master:2181,slaver1:2181,slaver2:2181/solr -cp solr.collection=waslog-z master:2181,slaver1:2181,slaver2:2181
添加拼音分词
添加 pinyin4j-2.5.0.jar lucene-analyzers-smartcn-4.10.3.jar 到/opt/cloudera/parcels/CDH/lib/solr/webapps/solr/WEB-INF/lib下。分发到其它从节点
修改schemal.xml
1. <fieldType name="text_pinyin" class="solr.TextField" positionIncrementGap="0">
2. <analyzer type="index">
3. <tokenizer class="org.apache.lucene.analysis.cn.smart.SmartChineseSentenceTokenizerFactory"/>
4. <filter class="org.apache.lucene.analysis.cn.smart.SmartChineseWordTokenFilterFactory"/>
5. <filter class="com.shentong.search.analyzers.PinyinTransformTokenFilterFactory" minTermLenght="2" />
6. <filter class="com.shentong.search.analyzers.PinyinNGramTokenFilterFactory" minGram="1" maxGram="20" />
7. </analyzer>
8.
9. <analyzer type="query">
10. <tokenizer class="org.apache.lucene.analysis.cn.smart.SmartChineseSentenceTokenizerFactory"/>
11. <filter class="org.apache.lucene.analysis.cn.smart.SmartChineseWordTokenFilterFactory"/>
12. <filter class="com.shentong.search.analyzers.PinyinTransformTokenFilterFactory" minTermLenght="2" />
13. <filter class="com.shentong.search.analyzers.PinyinNGramTokenFilterFactory" minGram="1" maxGram="20" />
14. </analyzer>
15. </fieldType>
添加smartcn分词
1. <fieldType name="text_smartcn" class="solr.TextField" positionIncrementGap="0">
2. <analyzer type="index">
3. <tokenizer class="org.apache.lucene.analysis.cn.smart.SmartChineseSentenceTokenizerFactory"/>
4. <filter class="org.apache.lucene.analysis.cn.smart.SmartChineseWordTokenFilterFactory"/>
5. </analyzer>
6. <analyzer type="query">
7. <tokenizer class="org.apache.lucene.analysis.cn.smart.SmartChineseSentenceTokenizerFactory"/>
8. <filter class="org.apache.lucene.analysis.cn.smart.SmartChineseWordTokenFilterFactory"/>
9. </analyzer>
10. </fieldType>
重启solr集群
- hbase基于solr的实时索引
- 基于Solr的HBase实时查询方案
- 基于solr实现hbase的二级索引
- 基于Solr的Hbase二级索引
- 基于solr实现hbase的二级索引
- 基于Solr的Hbase二级索引
- 自学大数据:基于Solr实现HBase的文本索引
- hbase基于solr配置二级索引
- 利用Solr建立HBase的二级索引
- Hbase solr 二级索引
- HBase + Solr Cloud实现HBase二级索引
- HBase + Solr Cloud实现HBase二级索引
- 基于Solr的淘宝商家交易数据实时查询方法
- 基于Solr的HBase多条件查询测试
- 基于Solr的HBase多条件查询测试
- 基于Solr的HBase多条件查询测试
- 基于Solr的HBase多条件查询测试
- 基于Solr的HBase多条件查询测试
- LeetCode之路:563. Binary Tree Tilt
- Python函数的各种参数(含星号参数)
- androidstudio常用快捷键
- hadoop查询文件保存在机架的位置
- MOT
- hbase基于solr的实时索引
- JAVA开发之 23-JAVA数据类型
- 有这样一支小笔,再不用担心喝到假酒了...
- python基础知识-内置函数
- VM12.5安装CentOS-7 64位 笔记
- 特征选择 GBDT 特征重要度
- jsp,servlet的转发和重定向
- jdk自带反编译工具使用说明
- Image-- Target Segmentation_Target Recognition_Target Detection_Target Tracking