最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mongodb處理中文索引與查找字符串詳解

 更新時間:2017年03月29日 10:03:25   作者:多客博圖  
這篇文章主要介紹了mongodb處理中文索引與查找字符串的相關(guān)資料,文中介紹的非常詳細,相信對大家具有一定的參考價值,需要的朋友們下面來一起看看吧。

參考文獻

首先自打3.2版本之后,就開始支持中文索引了,支持的所有的語言參考這里:

https://docs.mongodb.com/manual/reference/text-search-languages/

然后,對于要支持索引的表需要建議text index,如何建立參考這里:

https://docs.mongodb.com/manual/core/index-text/

在建好索引text之后,如果檢索參考:

https://docs.mongodb.com/manual/reference/operator/query/text/

實例

我有一個表,定義如下:

var ArticleSchema = new Schema({
 created: {
 type: Date,
 default: Date.now
 },
 title: {
 type: String,
 default: '',
 trim: true,
 required: 'Title cannot be blank'
 },
 abstract: {
 type: String,
 default: '',
 trim: true
 },
 abstractImg: {
 type: String,
 default: 'http://www.doocr.com/modules/core/client/img/brand/font-ocr.png',
 trim: true
 },
 content: {
 type: String,
 default: '',
 trim: true
 },
 category: {
 type: String,
 default: 'news',
 trim: true
 },
 user: {
 type: Schema.ObjectId,
 ref: 'User'
 },
 toPublish: {
 type: Boolean,
 default: true
 },
 comments: [CommentSchema]
 });

然后,里面有數(shù)據(jù)的,所以我直接檢索,得到結(jié)果:

> db.articles.find( { $text: { $search: "coffee" } } )
Error: error: {
 "waitedMS" : NumberLong(0),
 "ok" : 0,
 "errmsg" : "text index required for $text query",
 "code" : 27
}

說明沒有建議text索引,那么建一個:

db.articles.createIndex( {title: "text", content: "text" })

看看效果:

> db.articles.createIndex(
... {
... title: "text",
... content: "text"
... }
... )

下面是結(jié)果,成功了

{
 "createdCollectionAutomatically" : false,
 "numIndexesBefore" : 1,
 "numIndexesAfter" : 2,
 "ok" : 1
}

然后我開始檢索:

> db.articles.find( { $text: { $search: "coffee" } } )

什么都沒有。

我檢索一個存在的中文:

> db.articles.find( { $text: { $search: "操作" } } )
{ "_id" : ObjectId("58b0eb5a136dc51b541eaf81"), "user" : ObjectId("589c8d22f7d9dc15989be255"), "comments" : [ ], "toPublish" : true, "category" : "blog", "content" : "<p> </p><p><br/></p><p>其實就是使用ubuntu 16的安裝方式,參考網(wǎng)址:</p><p><a href=\"https://docs.mongodb.com/master/tutorial/install-mongodb-on-ubuntu/\" target=\"_blank\">https://docs.mongodb.com/master/tutorial/install-mongodb-on-ubuntu/</a></p><p><br/></p><p>我的操作步驟:</p><pre>1.倒入key:sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927&#10;</pre><p><br/></p><p>2. 創(chuàng)建mongodb的軟件源:</p><p>/etc/apt/sources.list.d/mongodb-org-3.2.list</p><p>操作:</p><pre>echo &#34;deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 multiverse&#34; | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list&#10;</pre><p><br/></p><p>3. 更新系統(tǒng):</p><p>sudo apt update</p><p>之后查看所有可以更新的軟件:</p><p>sudo apt list --upgradable</p><p>然后升級所有軟件:</p><p>sudo apt upgrade</p><p><br/></p><p>4. 安裝mongodb :</p><p>sudo apt install -y mongodb-org</p><p>也可以指定版本安裝:</p><p>sudo apt-get install -y mongodb-org=3.2.8 mongodb-org-server=3.2.8 mongodb-org-shell=3.2.8 mongodb-org-mongos=3.2.8 mongodb-org-tools=3.2.8</p><p>不過我不使用這種方式。</p><p><br/></p><p>5. 添加systemd 自啟動條目:</p><p>sudo vim /lib/systemd/system/mongod.service</p><p>添加內(nèi)容:</p><p>[Unit]</p><p>Description=High-performance, schema-free document-oriented database</p><p>After=network.target</p><p>Documentation=https://docs.mongodb.org/manual</p><p><br/></p><p>[Service]</p><p>User=mongodb</p><p>Group=mongodb</p><p>ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf</p><p><br/></p><p>[Install]</p><p>WantedBy=multi-user.target</p><p><br/></p><h2>6. 使能和啟動服務(wù):</h2><p>sudo systemctl enable mongod.service</p><p>sudo systemctl start mongod.service</p><p><br/></p><h2>查看狀態(tài),一切ok。</h2><p>sudo systemctl status mongod.service</p><p>● mongod.service - High-performance, schema-free document-oriented database</p><p>Loaded: loaded (/lib/systemd/system/mongod.service; enabled; vendor preset: enabled)</p><p>Active: active (running) since Sun 2016-07-31 21:59:00 CST; 13min ago</p><p>Docs: https://docs.mongodb.org/manual</p><p>Main PID: 19374 (mongod)</p><p>CGroup: /system.slice/mongod.service</p><p>└─19374 /usr/bin/mongod --quiet --config /etc/mongod.conf</p><p><br/></p><p>Jul 31 21:59:00 mint systemd[1]: Started High-performance, schema-free document-oriented database.</p><p><br/></p><p>7. 查看服務(wù)啟動端口是否ok:</p><p>azuo1228@mint ~/webproj/mjs2/meanjs $ netstat -apn | grep mong</p><p>(Not all processes could be identified, non-owned process info</p><p>will not be shown, you would have to be root to see it all.)</p><p>unix 2 [ ACC ] STREAM LISTENING 76731 - /tmp/mongodb-27017.sock</p><p><br/></p><p><br/></p>", "abstractImg" : "http://www.doocr.com/modules/core/client/img/brand/font-ocr.png", "abstract" : "其實就是使用ubuntu 16的安裝方式,參考網(wǎng)址:", "title" : "其實就是使用ubuntu 16的安裝方式,參考網(wǎng)址:", "created" : ISODate("2017-02-25T02:26:34.483Z"), "__v" : 0 }
>

最后

但是這種檢索都是不完美的,如果需要更好的支持,就需要參考:

https://docs.mongodb.com/manual/tutorial/text-search-with-rlp/

安裝rlp支持mongodb檢索中文,但是不是免費的。。。

所以,最好的方式就是使用Elastic Search同步mongodb,然后通過它檢索,超出本文范圍了,以后再說。

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

  • Mongodb副本集和分片示例詳解

    Mongodb副本集和分片示例詳解

    這篇文章主要給大家介紹了關(guān)于Mongodb副本集和分片的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用Mongodb具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • MongoDB數(shù)據(jù)庫中索引(index)詳解

    MongoDB數(shù)據(jù)庫中索引(index)詳解

    本文給大家詳細介紹了MongoDB數(shù)據(jù)庫中的索引的知識,優(yōu)缺點以及使用技巧等方面,非常細致,有需要的小伙伴可以參考下
    2016-11-11
  • Laravel?框架中使用?MongoDB?數(shù)據(jù)庫的操作

    Laravel?框架中使用?MongoDB?數(shù)據(jù)庫的操作

    這篇文章主要介紹了Laravel?框架中使用?MongoDB?數(shù)據(jù)庫的問題及操作方法,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-03-03
  • MongoDB在Windows系統(tǒng)和Linux系統(tǒng)中實現(xiàn)自動定時備份的操作步驟

    MongoDB在Windows系統(tǒng)和Linux系統(tǒng)中實現(xiàn)自動定時備份的操作步驟

    要在Windows系統(tǒng)中實現(xiàn)自動定時備份MongoDB數(shù)據(jù)庫,可以使用Windows任務(wù)計劃程序和MongoDB自帶的mongodump工具,這篇文章主要介紹了MongoDB在Windows系統(tǒng)和Linux系統(tǒng)中實現(xiàn)自動定時備份的操作步驟,需要的朋友可以參考下
    2023-12-12
  • MongoDB CRUD操作中的插入實例教程

    MongoDB CRUD操作中的插入實例教程

    這篇文章主要給大家介紹了關(guān)于MongoDB CRUD操作中的插入的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用MongoDB具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • MongoDB的基本操作實例詳解【服務(wù)端啟動,客戶端連接,CRUD操作】

    MongoDB的基本操作實例詳解【服務(wù)端啟動,客戶端連接,CRUD操作】

    這篇文章主要介紹了MongoDB的基本操作,結(jié)合實例形式分析了MongoDB數(shù)據(jù)庫的服務(wù)端啟動,客戶端連接,CRUD操作等基本實現(xiàn)方法與操作注意事項,需要的朋友可以參考下
    2020-04-04
  • MongoDB快速入門筆記(三)之MongoDB插入文檔操作

    MongoDB快速入門筆記(三)之MongoDB插入文檔操作

    這篇文章主要介紹了MongoDB快速入門筆記(三)之MongoDB插入文檔操作 的相關(guān)資料,非常不錯具有參考借鑒價值,需要的朋友可以參考下
    2016-06-06
  • 解決MongoDB?位置查詢報錯planner?returned?error:?unable?to?find?index?for?$geoNear?query的問題

    解決MongoDB?位置查詢報錯planner?returned?error:?unable?to?find

    這篇文章主要介紹了MongoDB位置查詢報錯planner?returned?error:?unable?to?find?index?for?$geoNear?query的解決方案,需要的朋友可以參考下
    2023-08-08
  • MongoDB balancer的使用詳解

    MongoDB balancer的使用詳解

    這篇文章主要介紹了MongoDB balancer的使用詳解,幫助大家更好的理解和學(xué)習(xí)使用MongoDB,感興趣的朋友可以了解下
    2021-04-04
  • Mongodb常見操作符和運算符總結(jié)

    Mongodb常見操作符和運算符總結(jié)

    MongoDB 提供了豐富的操作符(Operators)和運算符(Expressions)用于在查詢和更新文檔時指定條件和操作數(shù)據(jù),本文將通過代碼示例給大家詳細的總結(jié)一下Mongodb常見操作符和運算符,需要的朋友可以參考下
    2024-01-01

最新評論

康马县| 益阳市| 福建省| 古蔺县| 光山县| 林周县| 廉江市| 普宁市| 北海市| 根河市| 汶上县| 临洮县| 锦屏县| 丰顺县| 淮南市| 兴文县| 北流市| 长寿区| 且末县| 西平县| 定西市| 定边县| 庆城县| 鄂温| 麻阳| 双牌县| 南乐县| 民权县| 北流市| 临朐县| 运城市| 徐汇区| 维西| 息烽县| 孟津县| 安远县| 司法| 桂东县| 江城| 贵定县| 南宁市|