【问题标题】:How does MongoDB index huge fields?MongoDB如何索引大字段?
【发布时间】:2011-03-11 12:07:31
【问题描述】:
var post = {
  type: "Article",
  attributes: [
    {"title": "My Essay On Life"},
    {"body": "Life can be .... tons and tons of text ... "}
  ]
};

多键允许您索引键/值对。因此,您永远不知道某些用户可能会添加什么作为自定义键/值对。在这种情况下,我们将有一个巨大的字段(正文)将被索引。 (除了 Multikeys 模式之外,没有什么能阻止某人做类似的事情。)Mongo 是否尝试索引任何大小的字段,或者是否有一些实际限制?

我进行了一些测试,但似乎无法在怪物大小的字段上使用索引。老实说,我不希望对无限大小的巨大字段进行索引。 MySQL 支持一个选项,您可以设置多少个字符是可索引的(例如 100 个字符),以便如果文本字段超过该限制,则仅索引前 100 个字符。

什么是 Mongo 方式?我在 Mongo 网站上找不到这个。

【问题讨论】:

    标签: mongodb


    【解决方案1】:

    索引条目限制为大约 800 字节。如果字段较大,则服务器会生成错误消息,并且不会将文档添加到索引中;这可能会导致问题。

    【讨论】:

      【解决方案2】:

      我意识到你可能想通过body字段查询帖子。我建议你应该用Lucene Analyzer“分析”body。并索引body_keyword字段类型为数组(["Life","text"] ...)。

      【讨论】:

      • 我对索引正文字段不感兴趣。我确实看到 body_keyword 字段如何允许全文索引。好主意,但我宁愿有更轻的索引。相反,我更喜欢用户定义的标签(比如这边)而不是全文搜索。
      猜你喜欢
      • 2017-04-06
      • 1970-01-01
      • 2019-06-29
      • 2020-07-20
      • 2011-08-28
      • 2016-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多