欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

參考文獻(xiàn)

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

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

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

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

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

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

實(shí)例

我有一個(gè)表,定義如下:

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索引,那么建一個(gè):

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" } } )

什么都沒有。

我檢索一個(gè)存在的中文:

> db.articles.find( { $text: { $search: "操作" } } )
{ "_id" : ObjectId("58b0eb5a136dc51b541eaf81"), "user" : ObjectId("589c8d22f7d9dc15989be255"), "comments" : [ ], "toPublish" : true, "category" : "blog", "content" : "<p> </p><p><br/></p><p>其實(shí)就是使用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>然后升級(jí)所有軟件:</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 自啟動(dòng)條目:</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. 使能和啟動(dòng)服務(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ù)啟動(dòng)端口是否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" : "其實(shí)就是使用ubuntu 16的安裝方式,參考網(wǎng)址:", "title" : "其實(shí)就是使用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檢索中文,但是不是免費(fèi)的。。。

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

總結(jié)

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

相關(guān)文章

  • MongoDB設(shè)計(jì)方法以及技巧示例詳解

    MongoDB設(shè)計(jì)方法以及技巧示例詳解

    這篇文章主要給大家介紹了關(guān)于MongoDB設(shè)計(jì)方法以及技巧的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用MongoDB具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • 解決MongoDB?位置查詢報(bào)錯(cuò)planner?returned?error:?unable?to?find?index?for?$geoNear?query的問題

    解決MongoDB?位置查詢報(bào)錯(cuò)planner?returned?error:?unable?to?find

    這篇文章主要介紹了MongoDB位置查詢報(bào)錯(cuò)planner?returned?error:?unable?to?find?index?for?$geoNear?query的解決方案,需要的朋友可以參考下
    2023-08-08
  • Spark整合Mongodb的方法

    Spark整合Mongodb的方法

    Spark 是一個(gè)通用,快速,適用于大規(guī)模數(shù)據(jù)的處理引擎。接下來通過本文給大家分享Spark整合Mongodb的方法,感興趣的朋友一起看看吧
    2017-11-11
  • MongoDB分片的實(shí)現(xiàn)示例

    MongoDB分片的實(shí)現(xiàn)示例

    MongoDB的分片是一種橫向擴(kuò)展數(shù)據(jù)庫的方式,可以將數(shù)據(jù)分散存儲(chǔ)在多臺(tái)服務(wù)器上,從而提高數(shù)據(jù)庫的處理能力和可用性,本文就來介紹一下如何實(shí)現(xiàn),感興趣的可以了解一下
    2023-12-12
  • MongoDB特點(diǎn)與體系結(jié)構(gòu)等簡介

    MongoDB特點(diǎn)與體系結(jié)構(gòu)等簡介

    今天小編就為大家分享一篇關(guān)于MongoDB特點(diǎn)與體系結(jié)構(gòu)等簡介,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • MongoDB分片在部署與維護(hù)管理中常見的事項(xiàng)總結(jié)大全

    MongoDB分片在部署與維護(hù)管理中常見的事項(xiàng)總結(jié)大全

    分片(sharding)是指將數(shù)據(jù)拆分,將其分散存放在不同的機(jī)器上的過程。下面這篇文章主要給大家總結(jié)介紹了關(guān)于MongoDB分片在部署與維護(hù)管理中常見事項(xiàng)的相關(guān)資料,文中通過圖文以及示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2018-09-09
  • MongoDB社區(qū)版和企業(yè)版的差別對(duì)照表

    MongoDB社區(qū)版和企業(yè)版的差別對(duì)照表

    這篇文章主要介紹了MongoDB社區(qū)版和企業(yè)版的差別對(duì)照表,本文同時(shí)提供了中文和英文版的對(duì)照表,需要的朋友可以參考下
    2014-10-10
  • mongodb的安裝使用和pymongo基本使用教程

    mongodb的安裝使用和pymongo基本使用教程

    這篇文章主要介紹了mongodb的安裝使用和pymongo基本使用教程,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-07-07
  • MongoDB固定集合(capped collection)的知識(shí)小結(jié)

    MongoDB固定集合(capped collection)的知識(shí)小結(jié)

    固定集合指的是事先創(chuàng)建,并且大小固定的集合。下面這篇文章主要給大家總結(jié)介紹了MongoDB固定集合(capped collection)的知識(shí),文中介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-10-10
  • MongoDB的索引

    MongoDB的索引

    數(shù)據(jù)庫中的索引就是用來提高查詢操作的性能,但是會(huì)影響插入、更新和刪除的效率,因?yàn)閿?shù)據(jù)庫不僅要執(zhí)行這些操作,還要負(fù)責(zé)索引的更新
    2017-05-05

最新評(píng)論