【发布时间】:2013-03-16 14:14:24
【问题描述】:
如何在不使用外部引擎的情况下使用 mongodb 实现细粒度搜索?以这个对象为例 { 类型:“喜剧”, 页数:380, 年份: 2013, 畅销书:真的, 作者:“约翰·多伊” }
以下内容正在搜索:
db.books.find({
pages: { '>': 100 },
year: { '>': 2000 },
bestseller: true,
author: "John Doe"
});
到目前为止非常简单。现在假设文档中有更多值,并且我正在进行更精细的搜索并且我有一个非常大集合。
我要做的第一件事是创建索引。但是,它是如何工作的?我读过这里https://jira.mongodb.org/browse/SERVER-3071 中定义的索引交集是不可行的。这意味着如果我将索引设置为“年份”和“页面”,我将不会真正优化搜索中的 AND 操作。
那么如何针对具有许多参数的搜索进行优化?
提前致谢。
【问题讨论】: