hbase solr 插件_GitHub - dailong/HBaseSolrTool

HBaseSolrTool

HBaseSolrTool目的是解决目前HBase二级索引方案不够完善,无法满足HBase对于综合查询的需求。因此借用Solr的查询功能,满足运行在HBase上的应用对于多条件综合查询的需求。

###1、使用说明

1)因为在HBaseSolrTransformer类中已经硬编码,java bean中必须有id属性,该属性将作为HBase的rowkey;

2)docs中HBaseSolrTool-1.0-SNAPSHOT.jar(可自行通过项目编译)需要放到solr的lib中;

3)替换hbase-site.xml文件为所使用集群的hbase-site.xml文件;

###2、Demo示例

在目录“src/test/java/org/sr/hbase/test”中.

###3、架构说明

architecture.png

###4、注解说明

####A、HTable

public @interface HTable {

String table() default ""; // Hbase表设置,默认存储为类名

}

####B、HColumn

public @interface HColumn {

boolean id() default false; // 是否作为HBase rowkey

boolean index() default false; // 是否是Solr索引

String family() default ""; // column family设置,默认存储为属性名

String qualifier() default ""; // qualifier设置,默认存储为属性名

}

###5、API说明

api_1.png

api_2.png

###6、示例中类Case说明

@HTable(table = "Case")

public class Case {

@HColumn(id = true, index = true)

private String id;

@HColumn(family = "cf", index = true)

private String code;

@HColumn(family = "cf")

private String type1;

@HColumn(family = "cf")

private String type2;

@HColumn(family = "cf", index = true)

private String type3;

@HColumn(family = "cf", qualifier = "date_q", index = true)

private String date;

……

}

1)@HTable(table = "Case")

表注解,该含义是将类Case与HBase表Case关联;

2)@HColumn(id = true, index = true)

列注解,含义是该属性将作为HBase rowkey,并且作为Solr的索引列;

3)@HColumn(family = "cf", qualifier = "date_q", index = true)

列注解,含义是该属性对应HBase的column family为“cf”,qualifier为“date_q”,并且作为Solr的索引列;

###7、solr配置示例

1)schema.xml

……

id

id

……

2)solrconfig.xml

……

di.xml

……

3)di.xml

……

transformer="DateFormatTransformer,RegexTransformer,TemplateTransformer,org.sr.hbase.solr.HBaseSolrTransformer,LogTransformer"

zookeeper="192.168.0.100,192.168.0.230,192.168.0.234" parent="/hbase" tableName="Case" family="cf" operateModel="add">

……

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值