【问题标题】:SOLR schema - storing of document Id field. Maximum number of documents in Lucene indexSOLR 模式 - 存储文档 ID 字段。 Lucene 索引中的最大文档数
【发布时间】:2012-03-14 09:03:51
【问题描述】:

我有几个关于 Lucene/SOLR 索引架构的问题

  1. 这是我在 SOLR 架构中定义的文档 ID 字段 (UniqueKey):

我永远不会通过 Id 字段执行搜索,所以它需要被索引="true" 吗?顺便说一句,它是否需要存储=“true”(我认为它无论如何都会被存储,所以没关系)。

还有 2:单个 SOLR 索引中可以存储的最大文档数是多少?或者,更准确地说:它可以容纳 50 亿个小文档吗?

第三个问题:我需要对 2 个字段的组合执行搜索:一个 long 类型和一个 integer 类型。存储和索引这些字段的最有效方法是什么 - 分别存储和索引它们或基于它们预先计算一些哈希值并仅通过哈希搜索?由于我想要拥有数十亿个此类文档,因此我需要在保持搜索效率的同时最大限度地减少存储需求。

谢谢 RG

【问题讨论】:

    标签: solr lucene


    【解决方案1】:
    1. http://wiki.apache.org/solr/SchemaXml#The_Unique_Key_Field

      架构不一定要有 uniqueKey 字段

    2. Solr 最多可以容纳 ~274 billion 文档。处理和搜索响应将取决于内存。但是,如果您的索引大小增长且无法维护,您可以使用Distributed Search

    3. 您可以将字段组合成单个字段作为散列,而不将其标记为已存储以减小索引大小。这将加速初始搜索。缓存应该处理类似的搜索。

    【讨论】:

    • 关于文档的复杂性和 Solr 的内存使用是否有一些经验法则?
    • 文档的复杂性应该不是问题,但没有规则。内存使用取决于您使用的索引大小和缓存配置。如果整个索引可以放入内存并且不需要进行文件查找,Solr 将表现最佳。
    • “Solr 可以容纳无限数量的文档”所以它目前没有 2.1B 的文档限制?
    • 是的 .. 这是正确的 .. 并将在进一步的版本中得到改进。已修改答案。谢谢指点。
    • 这个答案指向正确的限制部分,但解释不正确。就在最近的 Lucene 4.5 中,单个 solr 核心最多可以容纳 21 亿个文档,其中包含 2740 亿个唯一术语。 “无限”数量的文档是指具有多个核心/分片的分布式/云 solr 设置。
    猜你喜欢
    • 2013-08-14
    • 2011-03-19
    • 2011-03-18
    • 1970-01-01
    • 2018-12-27
    • 1970-01-01
    • 2013-10-03
    • 2011-05-20
    • 1970-01-01
    相关资源
    最近更新 更多