MongoDB 資料操作(六)索引(4)全文索引

2021-09-02 17:29:46 字數 1685 閱讀 6523

在一些資訊管理平台上經常需要進行資訊模糊查詢

最早時候是利用了某個欄位上實現的模糊查詢,但是返回的資料並不會很準確,因為只能夠查詢 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 在...