MongoDB如何索引巨大的字段?

时间:2011-03-09 17:48:29

标签: mongodb

var post = {
  type: "Article",
  attributes: [
    {"title": "My Essay On Life"},
    {"body": "Life can be .... tons and tons of text ... "}
  ]
};

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

我运行了一些测试,似乎无法在怪物大小的字段上使用索引。老实说,我不希望无论如何都要将无限大小的巨大字段编入索引。 MySQL支持一个选项,您可以在其中设置可索引的字符数(例如100个字符),这样,如果文本字段超过该限制,则只会对前100个字符编制索引。

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

2 个答案:

答案 0 :(得分:6)

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

答案 1 :(得分:1)

我意识到你可能想通过正文字段查询帖子。我建议你应该通过Lucene Analyzer“分析”正文。并将body_keyword字段编入索引,该字段是数组([“Life”,“text”] ...)。