<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Redisearch實(shí)現(xiàn)的全文檢索功能服務(wù)

      “檢索”是很多產(chǎn)品中無(wú)法繞開的一個(gè)功能模塊,當(dāng)數(shù)據(jù)量小的時(shí)候可以使用模糊查詢等操作湊合一下,但是當(dāng)面臨海量數(shù)據(jù)和高并發(fā)的時(shí)候,業(yè)界常用 elasticsearch 和 lucene 等方案,但是elasticsearch對(duì)運(yùn)行時(shí)內(nèi)存有著最低限額,其運(yùn)行時(shí)大小推薦 2G 以上的內(nèi)存空間,并且需要額外的磁盤空間做持久化存儲(chǔ)。

          其實(shí)mongoDB 內(nèi)置的正則匹配搜索文本以及自帶的 text 索引和 search 關(guān)鍵字也是一套靠譜的解決方案,但是這一次我們帶來(lái)一種更加高效經(jīng)濟(jì)的文本檢索方案:Redisearch

       

      Redis Modules 是 redis 4.0 引入的一種擴(kuò)展機(jī)制,用戶可以通過(guò)實(shí)現(xiàn) redis module 提供的 C api 接口為 redis 服務(wù)添加定制化功能。 redisLab 也希望籍此來(lái)規(guī)范 redis 社區(qū)的 ecosystem 實(shí)現(xiàn)。

          redis module 本身的版本獨(dú)立于redis,并且以編譯成動(dòng)態(tài)加載庫(kù) .so 文件的方式 release, 不同版本的 redis 可以 load 同一版本 module.so 文件。

          redis 提供了兩種加載方式。可以通過(guò) 在 conf 文件中 加入 loadmodule /path/to/mymodule.so ,也可以在 redis-cli中使用命令 MODULE LOAD /path/to/panda.so 動(dòng)態(tài)加載,MODULE UNLOAD 卸載。

       

          特性

          基于文檔的全文索引。
          高性能增量索引。
          支持文檔評(píng)分,文檔字段(field) 權(quán)重機(jī)制。
          支持布爾復(fù)雜查詢。
          支持自動(dòng)補(bǔ)全。
          基于 snowball 的詞干分析,多語(yǔ)言支持。使用 friso 支持中文分詞。
          utf-8 字符集支持。
          redis 數(shù)據(jù)持久化支持。
          自定義評(píng)分機(jī)制。

          

          其原理是在 redis 的 hashmap 基礎(chǔ)上就可以很容易實(shí)現(xiàn)倒排索引的結(jié)構(gòu)。redisearch 倒排索引除了實(shí)現(xiàn)了基礎(chǔ)功能外,還引入了內(nèi)存管理等優(yōu)化功能。如果有興趣可以閱讀源碼中的 src/inverted_index.c 部分

          

          首先,安裝Rediseach,記住一點(diǎn)你本地的redis服務(wù)版本必須在4.0以上,網(wǎng)上一大堆編譯安裝的攻略,繁瑣又浪費(fèi)時(shí)間,所以又到了Docker登場(chǎng)時(shí)間了,hub上有編譯好的免費(fèi)鏡像供我們下載

      1,安裝redis

      #下載rpm源并安裝
      yum install -y http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
      #安裝redis
      yum --enablerepo=remi install -y redis
      #啟動(dòng)redis服務(wù)
      service redis start

      2,安裝Rediseach

      docker pull redislabs/redisearch
      下載后,直接在后臺(tái)啟動(dòng)服務(wù)
      docker run -d -p 6666:6379 redislabs/redisearch:latest

       

       此時(shí)已經(jīng)有一個(gè)docker容器在后臺(tái)啟動(dòng)了,redis服務(wù)映射到了宿主的6666端口,我們來(lái)連接一下

      redis-cli -h localhost -p 6666

       

       檢查 modules 是否成功加載

      如果返回?cái)?shù)組中存在 "ft" , 則表明 redisearch 已經(jīng)成功加載。

      Redisearch 的索引概念 與elasticsearch 的 index 類似,表示某一類文檔資源單元。

      這里我們定義了一個(gè) SMARTX_VM 索引,其中存儲(chǔ)的文檔 包含 了 title 和 desc 兩個(gè) 類型為 TEXT 的field。

          

      FT.CREATE SMARTX_VM SCHEMA title TEXT WEIGHT 5.0 desc TEXT

       然后向剛剛創(chuàng)建的這條索引加一個(gè)文檔

      FT.ADD SMARTX_VM vm-20190901 1.0 LANGUAGE "chinese" FIELDS title "中國(guó)" desc "我是中國(guó)人"

      LANGUAGE "chinese" 參數(shù) 表示 使用 中文分詞器 處理文本。默認(rèn)為英文

          此時(shí)我們進(jìn)行文檔檢索

       

      FT.SEARCH SMARTX_VM "中國(guó)" LANGUAGE "chinese"

        注意檢索的時(shí)候也要指定語(yǔ)言,這里我們用中文分詞,默認(rèn)的英文分詞是無(wú)法檢索中文的

       

       可以看到已經(jīng)返回了我們想要的結(jié)果。

      Redisearch 是一個(gè)高效,功能完備的內(nèi)存存儲(chǔ)的高性能全文檢索組件, 十分適合應(yīng)用在數(shù)據(jù)量適中, 內(nèi)存和存儲(chǔ)空間有限的環(huán)境。借助數(shù)據(jù)同步手段,我們可以很方便的將redisearch 結(jié)合到現(xiàn)有的數(shù)據(jù)存儲(chǔ)中, 進(jìn)而向產(chǎn)品提供 全文檢索, 自動(dòng)補(bǔ)全等服務(wù)優(yōu)化功能。

       

      posted @ 2019-09-01 13:56  Xcsg  Views(6697)  Comments(0)    收藏  舉報(bào)
      主站蜘蛛池模板: 成av人片一区二区久久| 日韩精品人妻黄色一级片| 亚洲男女一区二区三区| 太仆寺旗| 亚洲第一最快av网站| 99精品国产综合久久久久五月天 | 1区2区3区高清视频| 天啦噜国产精品亚洲精品| 国产精品一区二区久久岳| 男人扒女人添高潮视频| 精品国产一区二区三区性色| 国产午夜亚洲精品国产成人| 日本福利一区二区精品| 国産精品久久久久久久| 成人无码视频97免费| 天堂mv在线mv免费mv香蕉| 中日韩黄色基地一二三区| Y111111国产精品久久久| 久久国产免费观看精品3| 熟女激情乱亚洲国产一区| www射我里面在线观看| 欧美性猛交xxxx乱大交极品| 亚洲熟妇自偷自拍另亚洲| 先锋影音男人av资源| 久热爱精品视频线路一| 精品不卡一区二区三区| 网友自拍视频一区二区三区| 成人国产欧美大片一区| 国产无遮挡无码视频在线观看 | 亚洲粉嫩av一区二区黑人| 中文字幕在线亚洲精品| 亚洲精品成人福利网站| 亚洲成女人图区一区二区| 无码日韩精品91超碰| 成人性生交片无码免费看| а∨天堂一区中文字幕| 久久天天躁狠狠躁夜夜躁| 亚洲国产韩国欧美在线| 自拍视频在线观看成人| 少妇高潮水多太爽了动态图| 美女裸体十八禁免费网站|