0

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

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

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

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

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

在已经有数百万条记录且不断增长的情况下,实时索引又如何呢?我了解 Solr NRS 和 ElasticSearch 可以进行实时索引,但我不确定我的情况是否会带来新的挑战。

感谢您的任何意见!

干杯!

4

1 回答 1

3

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

一个或顺序之间的选择可能应该基于您最喜欢使用的一个。例如,ElasticSearch 有一个用于查询和索引的 JSON API,而 Solr 几乎使用 XML 进行配置和查询。

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

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

于 2013-04-26T18:48:44.100 回答