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 }

>

```

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容