Lucene深入学习(11)Lucene的索引分布式构想
·
直接使用Lucene做分布式很难实现,官方不支持这种设计,好像也没打算支持。因为大多数情况下,使用基于Lucene的Solr或者Elasticsearch很容易地实现分布式需求。
索引限制
因为机器环境各部相同,一般来说,Lucene可以处理500-8000万规模的索引数据。利用分布式技术,可以让Lucene达到数十亿文档的处理规模。
Lucene与hadoop
Lucene的Directory是一个接口,默认的实现类有RAMDirectory 和抽象类FSDirectory,如果可以将Directory交给hadoop管理,并且自己实现基于hadoop客户端的IndexWriter和IndexReader,就可以将索引文件自由拆分,实现一个分布式的Lucene结构。
利用shard
Lucene的shard是索引的一个分片,在查询的时候,所有的shard在同一时刻被处理,然后返回聚合后的数据。你可以将每一个shard放在不同机器上,达到扩展的目的。各个shard相互备份,就能组成一个简单的分布式环境。
这种方式就是SolrCloud的分布式方案。
更多推荐



所有评论(0)