您的位置:首页 > 编程语言 > Go语言

mongo文本搜索的一个例子

2016-05-27 11:35 369 查看
 

假如有一个名为articles的集合,数据如下:

{ "_id"
:
1, "title"
:
"cakes and ale" }

{ "_id"
:
2, "title"
:
"more cakes" }

{ "_id"
:
3, "title"
:
"bread" }

{ "_id"
:
4, "title"
:
"some cakes" }

 

执行如下搜索后,可以得到文档对于cake关键字的相关度以及对应的文档个数:

db.articles.aggregate(


[


{ $match: { $text: { $search:
"cake" } } },


{ $group: { _id: { $meta:
"textScore" }, count: { $sum:
1 } } }


]


)


 

执行结果如下:

{ "_id"
:
0.75, "count"
:
1 }


{ "_id"
:
1, "count"
:
2 }


 

当然,也可以按照结果的相关度进行排序。

db.articles.aggregate(


[


{ $match: { $text: { $search:
"cake" } } },


{ $ sort: { score: { $meta:
"textScore" } } }


]


)


 

返回的结果就是按照相关度进行排序后的结果。

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: