MongoDB 中文的全文索引

2021-08-19 09:24:52 字數 1135 閱讀 9754

下面就舉例來看一下mongodb 的中文索引是怎麼樣的?

建立乙個集合textindextest:

插入下面四條資料:

db

.textindextest

.insert()

db

.textindextest

.insert()

db

.textindextest

.insert()

db

.textindextest

.insert()```

對textindextest 的作者建立索引:

db

.textindextest

.createindex( )

注釋:

db.collection.ensureindex(keys, options) 這個語句在3.0被廢棄掉, db.collection.ensureindex() 現在是db.collection.createindex()的乙個別名

都是建立乙個索引 如果索引不存在。

檢視一下索引

db.textindextest

.getindexes()

接下來用索引搜尋:

搜尋李白的db.textindextest.find(}) 果:

單搜李白的「李」字

db

.textindextest

.find(})

執行無結果。

單搜乙個「王」字

db

.textindextest

.find(})

出來了:

不難看出:

mongodb中文全文索引建立方式與英文的簡歷幾乎相同 是根據詞(英文單詞)的方式建立的。

如果乙個值裡面有多個值 則需要按空格方式隔開,」張 王」 系統則認為是兩個詞。

感覺mongodb的中文全文索引沒有想象中的強大。想要實現中文模糊搜素

可以用elasticsearch或者sphinx,或者lucene

mysql全文索引的坑 MySQL全文索引問題

我有乙個包含以下資料的 文章 mysql select from articles id title body 1 mysql tutorial dbms stands for database 2 how to use mysql well after you went through a 3 o...

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

在一些資訊管理平台上經常需要進行資訊模糊查詢 最早時候是利用了某個欄位上實現的模糊查詢,但是返回的資料並不會很準確,因為只能夠查詢 a 字段或者 b 字段 而在 mongodb 裡面實現了非常簡單的全文檢索 定義新的集合 db.news.insert db.news.insert db.news.i...

mysql全文索引中文搜尋

由於mysql的預設配置是索引的詞的長度是4,所以需要修改mysql的配置檔案my.cnf 在 mysqld 位置內加入 ft min word len 2 其它屬性還有 ft wordlist charset gbk ft wordlist file home mysql wordlist gbk...