我在lucene中使用搜索系统。默认情况下它不是分布式的,所以我想要转向像HBase或Hadoop这样的东西。
HBase或Hypertable等解决方案是否具有内置搜索功能,还是需要在它们之上实现Lucene?
答案 0 :(得分:5)
Lucene与像HBase或Hypertable这样的BigTable克隆非常不同。如果您只是在寻找分布式Lucene,那么您应该查看Elastic Search或Katta等项目。
Solr / Lucene还具有在群集上运行的能力,但分区不是自动的。您必须手动创建分片和副本以匹配您要查找的数据的分布。如果您的基础数据存储在HBase之类的内容中,则更容易设置,修改和更新。
基本上HBase和Lucene解决了不同的问题。 Lucene是一个允许关键字和其他类型的搜索快速返回的索引。 HBase是一个可以实时为各个行提供服务的数据存储库;但是,HBase没有在线查询功能。为获得最佳效果,您必须将它们组合在一起。这个领域的一个例子是莉莉(http://outerthought.org/site/products/lily.html)
答案 1 :(得分:1)
你可能还想看看Lucandra,Lucene和Cassandra后端:
答案 2 :(得分:1)
另一项值得关注的技术是可以在HDFS上运行的Katta或Distributed Lucene
答案 3 :(得分:0)
Lucene提供两个主要功能:结构化搜索和全文搜索。 Hbase没有提供任何这些,结构化搜索可以通过hbase以相对简单的方式完成,这是我认为的礼来。但重建全文搜索会更加困难。为了扩展您的Lucene,您仍然可以通过查找可以在单独区域中拆分数据的属性来尝试对索引进行分区(您将无法进行跨区域搜索)。然后,每个区域可以有一个集群。