mongodb全文索引操作

创建全文索引

- 全文索引

```

> use imooc

switched to db imooc

> db.imooc_2.ensureIndex({"article":"text"})

{

"createdCollectionAutomatically" : true,

"numIndexesBefore" : 1,

"numIndexesAfter" : 2,

"ok" : 1

}

> db.imooc_2.insert({"article":"aa bb cc dd ee"})

WriteResult({ "nInserted" : 1 })

> db.imooc_2.insert({"article":"aa bb rr gg"})

WriteResult({ "nInserted" : 1 })

> db.imooc_2.insert({"article":"aa bb cc hh dojijijojkljl"})

WriteResult({ "nInserted" : 1 })

> db.imooc_2.find({$text:{$search:"aa"}})

{ "_id" : ObjectId("586f49225f82127ce8e223cd"), "article" : "aa bb cc dd ee" }

{ "_id" : ObjectId("586f4e8a5f82127ce8e223cf"), "article" : "aa bb cc hh dojijijojkljl" }

{ "_id" : ObjectId("586f4e405f82127ce8e223ce"), "article" : "aa bb rr gg" }

> db.imooc_2.find({$text:{$search:"rr"}})

{ "_id" : ObjectId("586f4e405f82127ce8e223ce"), "article" : "aa bb rr gg" }

> db.imooc_2.find({$text:{$search:"aa bb cc"}})

{ "_id" : ObjectId("586f49225f82127ce8e223cd"), "article" : "aa bb cc dd ee" }

{ "_id" : ObjectId("586f4e8a5f82127ce8e223cf"), "article" : "aa bb cc hh dojijijojkljl" }

{ "_id" : ObjectId("586f4e405f82127ce8e223ce"), "article" : "aa bb rr gg" }

> db.imooc_2.find({$text:{$search:"aa bb -cc"}})

{ "_id" : ObjectId("586f4e405f82127ce8e223ce"), "article" : "aa bb rr gg" }

> db.imooc_2.find({$text:{$search:"\"aa\" \"bb\" \"cc\""}})

{ "_id" : ObjectId("586f49225f82127ce8e223cd"), "article" : "aa bb cc dd ee" }

{ "_id" : ObjectId("586f4e8a5f82127ce8e223cf"), "article" : "aa bb cc hh dojijijojkljl" }

```

- 全文相似度索引

```

> db.imooc_2.find({$text:{$search:"aa bb"}})

{ "_id" : ObjectId("586f49225f82127ce8e223cd"), "article" : "aa bb cc dd ee" }

{ "_id" : ObjectId("586f4e8a5f82127ce8e223cf"), "article" : "aa bb cc hh dojijijojkljl" }

{ "_id" : ObjectId("586f4e405f82127ce8e223ce"), "article" : "aa bb rr gg" }

> db.imooc_2.insert({"article":"aa bb"})

WriteResult({ "nInserted" : 1 })

> db.imooc_2.find({$text:{$search:"aa bb"}},{score:{$meta:"textScore"}})

{ "_id" : ObjectId("586f49225f82127ce8e223cd"), "article" : "aa bb cc dd ee", "score" : 1.2 }

{ "_id" : ObjectId("586f4e8a5f82127ce8e223cf"), "article" : "aa bb cc hh dojijijojkljl", "score" : 1.2 }

{ "_id" : ObjectId("586f4e405f82127ce8e223ce"), "article" : "aa bb rr gg", "score" : 1.25 }

{ "_id" : ObjectId("586f51de5f82127ce8e223d0"), "article" : "aa bb", "score" : 1.5 }

> db.imooc_2.find({$text:{$search:"aa bb"}},{score:{$meta:"textScore"}}).sort({score:{$meta:"textScore"}})

{ "_id" : ObjectId("586f51de5f82127ce8e223d0"), "article" : "aa bb", "score" : 1.5 }

{ "_id" : ObjectId("586f4e405f82127ce8e223ce"), "article" : "aa bb rr gg", "score" : 1.25 }

{ "_id" : ObjectId("586f49225f82127ce8e223cd"), "article" : "aa bb cc dd ee", "score" : 1.2 }

{ "_id" : ObjectId("586f4e8a5f82127ce8e223cf"), "article" : "aa bb cc hh dojijijojkljl", "score" : 1.2 }

>

```

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容