在一些資訊管理平台上經常需要進行資訊模糊查詢
最早時候是利用了某個欄位上實現的模糊查詢,但是返回的資料並不會很準確,因為只能夠查詢 a 字段或者 b 字段
而在 mongodb 裡面實現了非常簡單的全文檢索
定義新的集合
> db.news.
insert()
;> db.news.
insert()
;> db.news.
insert()
;> db.news.
insert()
;> db.news.
insert()
;> db.news.
insert()
;> db.news.
insert()
;> db.news.
insert()
;
設定全文檢索
> db.news.
createindex()
;
如果想要全文檢索,則使用$text
判斷符,並且使用$search
進行關鍵字查詢
查詢單個關鍵字
> db.news.
find(}
).pretty()
;
查詢多個關鍵字(或關係)
> db.news.
find(}
).pretty()
;
查詢多個關鍵字(與關係)
> db.news.
find(}
).pretty()
;
排除關鍵字
> db.news.
find(}
).pretty()
;
在進行全文檢索操作的時候,還可以使用相似度的打分來判斷檢索結果
為結果打分
> db.news.
find(}
,}).
pretty()
;
為打分結果排序
> db.news.
find(}
,}).
sort(}
).pretty()
;
按照打分的成績進行排序,可以實現更加準確的資訊搜尋
但是,如果乙個集合的字段太多,每個欄位都分別設定全文檢索過於麻煩,因此可以統一設定
為所有字段設定全文檢索
> db.news.
createindex()
;
雖然這是一種最簡單的設定全文索引的方式,但是盡可能不要使用,因為索引越多越影響效能 MongoDB 索引操作
這些天專案改版,時間比較緊,部落格也就沒跟得上,還望大家見諒。好,今天分享下mongodb中關於索引的基本操作,我們日常做開發都避免不了要對程式進行效能優化,而程式的操作無非就是curd,通常我們 又會花費50 的時間在r上面,因為read操作對使用者來說是非常敏感的,處理不好就會被人唾棄,呵呵。從...
MongoDB筆記4 MongoDB的索引
檢視集合的索引 db.gooverit collection1.getindexes 建立集合的索引 db.gooverit collection1.ensureindex 1 id索引 id索引是絕大多數集合預設建立的索引 對於每條插入的資料,都會自動生成乙個唯一的 id欄位 2 單鍵索引 單鍵索...
MongoDB學習筆記4 索引
一 索引基礎 mongodb的索引幾乎與傳統的關係型資料庫一模一樣,這其中也包括一些基本的優化技巧。下面是建立索引的命令 db.test.ensureindex 可以通過下面的名稱檢視索引是否已經成功建立 db.test.getindexes 刪除索引的命令是 db.test.dropindex 在...