mongo文本搜索的一个例子

 

假如有一个名为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" } } } 

 ] 

) 

 

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

 

你可能感兴趣的:(mongo文本搜索的一个例子)