Solr和ElasticSearch的可伸缩性:5000个值的字段

时间:2013-04-26 14:33:22

标签: search solr elasticsearch scalability

我需要将记录发送到搜索引擎(Solr或ElasticSearch)进行索引。

在我的设计中,一个字段最多可以包含5000个值,对于某些记录,需要将此字段的所有这5000个值(OR或AND关系)发送到搜索引擎。

我有大约10个这种性质的字段,还有30个其他字段(文本,整数等)。

我想知道Solr或ElasticSearch是否可以有效地处理字段的大量值以及哪个更好。

在这种情况下,数百万条记录呢?

在数百万的记录和保持增长的情况下,实时索引怎么样?我理解Solr NRS和ElasticSearch可以进行实时索引,但我不确定我的情况是否会带来新的挑战。

感谢您的任何意见!

干杯!

1 个答案:

答案 0 :(得分:3)

Solr和ElasticSearch都基于Lucene,它执行真正的索引/查询/存储文档。因此,就字段和文档的大小而言,性能在两者中应该非常相似。

一个或一个订单之间的选择可能应该基于您认为哪个最有用的订单。例如,ElasticSearch有一个用于查询和索引的JSON API,而Solr使用相当多的XML进行配置和查询。

如果您将拥有数百万个文档和/或需要在一组机器中划分插入/查询负载,我认为ElasticSearch具有优势,因为它易于分片并创建副本

关于实时搜索,两者都可能适合您的需求。它们允许您自定义“刷新”索引的频率。允许刚刚编入索引的新文档出现在搜索结果中。例如,在ElasticSearch中,您可以将刷新设置为每分钟发生一次。