校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > Mongodb實戰之全文搜索功能

Mongodb實戰之全文搜索功能

熱門標簽:怎么投訴地圖標注 老虎洗衣店地圖標注 濟南電銷機器人加盟公司 云南外呼系統 廣州長安公司怎樣申請400電話 杭州人工電銷機器人價格 蘋果汽車租賃店地圖標注 電銷機器人是什么軟件 呼和浩特電銷外呼系統加盟

前言

眾所周知在傳統的關系型數據庫中,我們通常將數據結構化,通過一系列表關聯、聚合來查詢我們所需的結果。而在非結構化的數據中,缺少這種預定義的結構,因而如何快速查詢定位到我們所需要的結果,不是一件容易的事。

Mongodb作為一種NoSQL數據庫,非常適合存儲和管理非結構化數據,例如互聯網上的各種文本數據。假如我們用Mongodb存儲了很多博客文章,那么如何快速找到所有關于“nodejs”這個主題的文章呢?Mongodb內建的全文搜索可以幫助我們完成這個功能。下面話不多說了,來一起看看詳細的介紹:

在本篇博文中,將要介紹的是我使用Mongdb text search的一些經驗。

Mongodb text search是什么?

Mongodb text search是Mongodb對數據庫進行搜索的功能模塊,類似于數據庫內建的搜索引擎。有些人可能會疑問,查數據庫為什么還需要搜索引擎?直接用條件查詢不就得了。例如在前面的文章主題搜索中,我們不可能事先提取出每篇文章的主題,然后用專門的字段存儲,因此沒辦法進行條件查詢。并且同一個主題詞,有多種不同的表達方式,例如”node”、”nodejs”可視為同一個主題。

Mongodb text search可以自動地對大段的文本數據進行分詞處理、模糊匹配、同義詞匹配,解決文本搜索的問題。

建立文本索引

要使Mongodb能夠進行全文搜索,首先要對搜索的字段建立文本索引。建立文本索引的關鍵字是text,我們既可以建立單個字段的文本索引,也可以建立包含多個字段的復合文本索引。需要注意的是,每個collection只能建立一個文本索引,且只能對String或String數組的字段建立文本索引。

我們可以通過以下命令,建立一個文本索引:

db.collection.createIndex({ subject: "text", content: "text" })

在mongoose中我們可以通過以下代碼,創建文本索引:

schema.index({ subject: "text", content: "text" })

需要注意的是:由于每個collection只支持一個文本索引,所以當你需要在schema中添加或刪除文本索引字段時,往往不起作用。這時候你需要到數據庫中,手動刪除已經建立的文本索引。

文本搜索示例

文本搜索的語法為:

{
 $text:
  {
   $search: string>,
   $language: string>,
   $caseSensitive: boolean>,
   $diacriticSensitive: boolean>
  }
}

在mongoose中,我們可以通過以下語句進行文本搜索:

var query = model.find({ $text: { $search: "hello world" } })

$search后面的關鍵詞可以有多個,關鍵詞之間的分隔符可以是多種字符,例如空格、下劃線、逗號、加號等,但不能是-和\",因為這兩個符號會有其他用途。搜索的多個關鍵字是or的關系,除非你的關鍵字包含-。例如hello world會包含所有匹配hello或world的文本,而hello -world只會匹配包含hello且不包含world的文本。

$language指示搜索的語言類型,在最新的Mongodb 3.2 enterprise版本中,已經增加了對中文文本的搜索。

$caseSensitive設置是否區分大小寫。

$diacriticSensitive設置是否區別發音符號,CAFÉ于Café是同一語義,只是重音不一樣。

我們還可以對搜索的結果按匹配度進行排序:

db.posts.find(
  { $text: { $search: "hello world" } },
  { score: { $meta: "textScore" } }
).sort( { score: { $meta: "textScore" } } )

注意事項

Mongodb建立文本索引時,會對提取所有文本的關鍵字建立索引,因而會造成一定的性能問題。所以對于結構化的字段,建議用普通的關系查詢,如果需要對大段的文本進行搜索,才考慮用全文搜索。

總結

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

您可能感興趣的文章:
  • MongoDB 使用Skip和limit分頁
  • 利用node.js+mongodb如何搭建一個簡單登錄注冊的功能詳解
  • mac下安裝和配置mongodb的步驟詳解
  • Windows下MongoDb簡單配置教程
  • 在Linux服務器中配置mongodb環境的步驟
  • Mongodb實現的關聯表查詢功能【population方法】
  • MongoDB 中Limit與Skip的使用方法詳解

標簽:遼陽 興安盟 廈門 泰安 自貢 無錫 雞西 玉林

巨人網絡通訊聲明:本文標題《Mongodb實戰之全文搜索功能》,本文關鍵詞  Mongodb,實戰,之,全文,搜索,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Mongodb實戰之全文搜索功能》相關的同類信息!
  • 本頁收集關于Mongodb實戰之全文搜索功能的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    国产精品一区二区在线观看网站| 亚洲欧洲av在线| 91小视频免费看| 波多野结衣视频一区| 韩国女主播一区二区三区| 蜜桃传媒麻豆第一区在线观看| 亚洲一二三专区| 亚洲国产精品一区二区久久恐怖片| 最新成人av在线| 亚洲视频狠狠干| 亚洲激情综合网| 日日噜噜夜夜狠狠视频欧美人 | 亚洲国产精品成人综合 | 91蝌蚪porny| 91一区二区三区在线观看| 99vv1com这只有精品| av在线播放不卡| 欧美视频一二三区| 欧美不卡一二三| 国产精品久久久久婷婷二区次| 亚洲日本韩国一区| 亚洲成人在线网站| 国内精品写真在线观看| 成人av在线一区二区三区| 日本乱人伦aⅴ精品| 日韩一卡二卡三卡四卡| 国产人伦精品一区二区| 亚洲欧美成aⅴ人在线观看| 午夜精品爽啪视频| 国产九九视频一区二区三区| 91视频你懂的| 日韩一区二区三区在线视频| 国产视频一区不卡| 五月婷婷综合在线| 国产精品一区二区久久不卡| 一本色道久久综合亚洲aⅴ蜜桃| 欧美精品日韩精品| 欧美激情自拍偷拍| 日韩成人免费电影| av在线一区二区| 欧美xxxx老人做受| 亚洲高清不卡在线| 国产乱人伦偷精品视频不卡| 欧美性一级生活| 久久久影视传媒| 五月婷婷久久综合| www.欧美色图| 欧美r级在线观看| 亚洲专区一二三| 成人高清免费观看| 日韩一区二区视频在线观看| 伊人一区二区三区| 成人午夜视频免费看| 欧美猛男男办公室激情| 国产精品国产精品国产专区不蜜 | av电影在线观看不卡 | 国产又黄又大久久| 欧美日韩三级在线| 亚洲精品成人少妇| 不卡一区二区在线| 久久午夜免费电影| 日本中文在线一区| 欧美日韩一区二区三区高清| 亚洲免费观看在线视频| 国产成人在线视频播放| 欧美tk丨vk视频| 日本免费新一区视频| 精品视频在线免费| 一区二区三区不卡视频| 91日韩精品一区| 国产精品久久夜| 波多野结衣91| 亚洲三级久久久| 色综合久久久久网| 亚洲人精品午夜| 色偷偷久久一区二区三区| 最新欧美精品一区二区三区| 成人一级片网址| 国产精品网站在线播放| 国产精品亚洲一区二区三区妖精| 欧美一区三区四区| 久久99九九99精品| xvideos.蜜桃一区二区| 国产成人小视频| 一区视频在线播放| 91久久精品国产91性色tv| 一区二区三区欧美亚洲| 欧美日韩第一区日日骚| 青青国产91久久久久久 | 国产精品福利电影一区二区三区四区 | 精品国产一区二区三区久久影院| 日韩成人精品视频| 精品乱人伦小说| 国产传媒一区在线| 国产精品护士白丝一区av| 色婷婷av一区二区三区软件 | 成人亚洲精品久久久久软件| 国产精品素人视频| 91久久人澡人人添人人爽欧美| 亚洲综合免费观看高清完整版| 欧美日韩一区二区电影| 狠狠色丁香九九婷婷综合五月| 久久欧美中文字幕| 99综合影院在线| 日韩国产成人精品| 国产三区在线成人av| 91视频你懂的| 精品一区二区三区在线播放视频| 国产片一区二区| 欧美精品一级二级| 国产91在线|亚洲| 亚洲国产一区二区a毛片| 日韩欧美自拍偷拍| 99热精品国产| 麻豆91免费看| 亚洲一区欧美一区| 久久人人97超碰com| 在线观看视频欧美| 国产伦精一区二区三区| 亚洲第四色夜色| 国产精品超碰97尤物18| 91精品欧美综合在线观看最新 | 国产一区二区看久久| 亚洲一区二区3| 国产精品久久久一区麻豆最新章节| 欧美日韩中文一区| 国产成人在线看| 久久精品国产999大香线蕉| 亚洲伦理在线精品| 国产亚洲精品超碰| 91精品国产一区二区三区蜜臀| 成人av网址在线| 经典一区二区三区| 日本在线不卡视频| 一区二区三区中文字幕| 中文字幕一区在线| 中文字幕成人网| 国产欧美日韩精品在线| 久久综合九色综合97_久久久| 51久久夜色精品国产麻豆| 欧美亚洲禁片免费| 91麻豆免费视频| 99国产精品一区| eeuss国产一区二区三区| 国产一区二区电影| 国模大尺度一区二区三区| 欧美a级理论片| 免费一区二区视频| 免费一级片91| 狠狠色丁香久久婷婷综合_中 | 91成人看片片| 在线一区二区视频| 91成人国产精品| 欧美图片一区二区三区| 欧美亚洲一区二区三区四区| 欧美视频精品在线观看| 欧美婷婷六月丁香综合色| 欧美特级限制片免费在线观看| 日本丰满少妇一区二区三区| 色欧美乱欧美15图片| 91福利在线看| 337p亚洲精品色噜噜狠狠| 欧美一区二区三区日韩| 日韩精品最新网址| 国产日韩欧美精品在线| 亚洲欧洲日产国码二区| 亚洲精品中文在线影院| 亚洲成人动漫在线免费观看| 首页国产欧美久久| 韩国女主播成人在线| 丰满岳乱妇一区二区三区| 99热这里都是精品| 欧美日韩一区 二区 三区 久久精品| 欧美精三区欧美精三区| 欧美成人精精品一区二区频| 国产免费久久精品| 亚洲美女淫视频| 蜜桃在线一区二区三区| 福利一区在线观看| 在线一区二区视频| 欧美成人福利视频| 18成人在线观看| 蜜桃视频在线一区| 99久久精品国产精品久久| 欧美日韩国产小视频在线观看| 欧美一区二区三区视频免费 | 在线一区二区三区| 欧美一区二区三区在线电影| 欧美国产视频在线| 天天综合天天做天天综合| 国产福利视频一区二区三区| 在线区一区二视频| 久久亚洲私人国产精品va媚药| 亚洲精品美国一| 久久爱另类一区二区小说| 色婷婷综合在线| 久久免费午夜影院| 亚洲第一激情av| aaa欧美色吧激情视频| 日韩视频在线一区二区|