下面就舉例來看一下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...