【问题标题】:Scalability of Solr and ElasticSearch: fields of 5000 valuesSolr 和 ElasticSearch 的可扩展性:5000 个值的字段
【发布时间】:2013-04-20 18:42:39
【问题描述】:

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

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

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

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

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

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

感谢您的任何意见!

干杯!

【问题讨论】:

    标签: search solr elasticsearch scalability


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 嗨 Felipe,非常感谢您的参与。您的回答似乎已经解决了“数据增长”部分。在处理“字段的 5000 个值”时,您是否知道任一引擎的任何功能问题,这是我的第一个问题。感谢日志!
    • 你应该没问题。我现在正在使用一个索引,该索引在单个字段中包含高达 80MB 的文档。 Lucene 能够处理非常大的文档。
    • 感谢您的信息。我喜欢听取有经验的人的意见。
    猜你喜欢
    • 2015-09-26
    • 1970-01-01
    • 2011-12-31
    • 2017-06-03
    • 2012-05-10
    • 2012-05-03
    • 1970-01-01
    • 2013-04-24
    • 1970-01-01
    相关资源
    最近更新 更多