0

我们的数据库存储相册和照片。每张专辑都有标题、标签、描述。每张照片都有标题、标签和描述。

我想要的只是用户在搜索框中输入一个词后立即显示 5 个搜索结果的能力。

然后每页显示 50 个搜索结果,依此类推。

  1. 我应该索引哪些字段 - 仅标题或标签(嵌入数组)或两者兼而有之?
  2. 使用什么来获得最佳搜索体验 - 已归档的 MongoDB 索引或其他类型的索引?解决方案必须随着数据的增长而扩展。

如果有人可以帮助我提供一些有关如何进行的指示,那就太好了。

我仍在使用旧版本的 MongoDB 1.8

谢谢

4

1 回答 1

0

如果您只需要根据上一条评论搜索标题,那么您可以简单地使用 $regex 运算符:

http://docs.mongodb.org/manual/reference/operator/regex/#op._S_regex

如果您锚定正则表达式(即/^something/),那么它甚至会使用您的索引,这将非常快。

不过,它在大型数据库上的性能不会很棒。

否则,正如 WiredPrairie 建议的那样,请查看关键字搜索:

http://docs.mongodb.org/manual/tutorial/model-data-for-keyword-search/

于 2013-08-24T00:51:31.580 回答