基于solr实现hbase的二级索引
[X] 目的:
由于hbase基于行健有序存储,在查询时使用行健十分高效,然后想要实现关系型数据库那样可以随意组合的多条件查询、查询总记录数、分页等就比较麻烦了。...想要实现这样的功能,我们可以采用两种方法:
使用hbase提供的filter,
自己实现二级索引,通过二级索引 查询多符合条件的行健,然后再查询hbase....第一种方法不多说了,使用起来很方便,但是局限性也很大,hbase的filter是直接扫记录的,如果数据范围很大,会导致查询速度很慢....将hbase记录写入solr的关键就在于hbase提供的Coprocessor, Coprocessor提供了两个实现:endpoint和observer,
endpoint相当于关系型数据库的存储过程...默认情况下hbase每写一条数据就会向出发一次postPut,
如果直接提交个solr,速度会非常慢,而且如果有异常处理起来也会非常的麻烦.因此要自己实现一个本地可持久化的队列,通过后台线程异步向向solr