【发布时间】:2012-09-28 01:14:00
【问题描述】:
我有以下形式的文档集合:
{ _id: ObjectId(...)
, title: "foo"
, tags: ["bar", "baz", "qux"]
}
查询应该找到所有带有这些标签的文档。我目前使用这个查询:
{ "tags": { "$in": ["bar", "hello"] } }
而且它有效;返回所有标记为“bar”或“hello”的文档。
但是,我想按相关性进行排序,即,匹配的标签越多,文档在结果中出现的时间就越早。例如,对于查询["bar", "hello"],结果中标记为["bar", "hello", "baz"] 的文档应高于标记为["bar", "baz", "boo"] 的文档。我怎样才能做到这一点?
【问题讨论】: