色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Redis官方搜索引擎來了,性能炸裂!

jf_ro2CN3Fa ? 來源:waynblog ? 2024-02-21 10:01 ? 次閱讀

RediSearch 簡介

RediSearch 是一個 Redis 模塊,為 Redis 提供查詢、二級索引和全文搜索功能。

要使用 RediSearch 的功能,我們需要要先聲明一個 index(類似于 Elasticsearch 的索引)。然后就可以使用 RediSearch 的查詢語言來查詢該索引下的數據。

RediSearch 內部使用壓縮的倒排索引,所以可以用較低的內存占用來實現索引的快速構建。

目前 RediSearch 最新版支持的查詢功能也比較豐富了,除了基本的文本分詞還支持聚合統計、停用詞、同義詞、拼寫檢查、結果排序、標簽查詢、向量相似度查詢以及中文分詞等。

對比 Elasticsearch

基本硬件

f591b788-d059-11ee-a297-92fbcf53809c.png

數據源

f597dbd6-d059-11ee-a297-92fbcf53809c.png

RediSearch 配置

f59d903a-d059-11ee-a297-92fbcf53809c.png

Elasticsearch 配置

f5a6d76c-d059-11ee-a297-92fbcf53809c.png

版本

f5af12c4-d059-11ee-a297-92fbcf53809c.png

索引構建測試

在官方提供的索引構建測試中,RediSearch 用 221 秒的速度超過了 Elasticsearch 的 349 秒,領先 58%,

f5b4db00-d059-11ee-a297-92fbcf53809c.png

查詢性能測試

通過數據集導入索引數據后,官方使用運行在專用負載生成器服務器上的 32 個客戶端啟動了兩個詞的搜索查詢。

如下圖所示,RediSearch 的吞吐量達到了 12.5K ops/sec,而 Elasticsearch 的吞吐量只有了 3.1K ops/sec,快了 4 倍。此外 RediSearch 的延遲稍好一些,平均為 8 毫秒,而 Elasticsearch 為 10 毫秒。(ops/sec 每秒操作數)

f5c08bc6-d059-11ee-a297-92fbcf53809c.png

由此可見,RediSearch 在性能上對比 RediSearch 有比較大的優勢。

目前 RediSearch 已經更新到 2.0+ 版本,根據官方對于 RediSearch 2.0 版本介紹,與 RediSearch 1.6 相比,吞吐量和延遲相關的指標都提高了 2.4 倍。

RediSearch 安裝

對于目前最新的 RediSearch 2.0 版本來說,官方推薦直接使用 redis-stack-server 鏡像進行進行部署,也比較簡單,

dockerrun-d--nameredis-stack-server-p6379:6379redis/redis-stack-server:latest

設置登錄密碼

//設置登錄密碼
dockerrun-eREDIS_ARGS="--requirepassredis-stack"redis/redis-stack:latest

通過 redis-cli 連接查看 RediSearch 是否安裝了 search 模塊,

redis-cli-hlocalhost

>MODULElist
...
3)1)"name"
2)"search"
3)"ver"
4)"20809"
5)"path"
6)"/opt/redis-stack/lib/redisearch.so"
7)"args"
8)1)"MAXSEARCHRESULTS"
2)"10000"
3)"MAXAGGREGATERESULTS"
4)"10000"
...

索引操作

FT.CREATE 創建索引命令

>FT.CREATEidx:goodsonhashprefix1"goods:"languagechineseschemagoodsNametextsortable
"OK"

FT.CREATE:創建索引命令

idx:goods:索引名稱

on hash:索引關聯的數據類型,這里指定索引基于 hash 類型的源數據構建

prefix 1 "goods:":表示索引關聯的 hash 類型源數據前綴是 goods:

language chinese:表示支持中文語言分詞

schema goodsName text sortable:表示字段定義,goodsName 表示元數據屬性名,text 表示字段類型 sortable 表示該字段可以用于排序

添加索引時,直接使用 hset 命令添加一個 key 前綴是 "goods:" 的源數據。如下,

hsetgoods:1001goodsName小米手機
hsetgoods:1002goodsName華為手機

FT.SEARCH 查詢索引

>FT.SEARCHidx:goods1"手機"
1)"2"
2)"goods:1001"
3)1)"goodsName"
2)"xe5xb0x8fxe7xb1xb3xe6x89x8bxe6x9cxba"
4)"goods:1002"
5)1)"goodsName"
2)"xe5x8dx8exe4xb8xbaxe6x89x8bxe6x9cxba"

FT.INFO 查詢指定名稱索引信息

>FT.INFOidx:goods
1)"index_name"
2)"idx:goods1"
3)"index_options"
4)(emptylistorset)
5)"index_definition"
6)1)"key_type"
2)"HASH"
3)"prefixes"
4)1)"goods:"
5)"default_language"
6)"chinese"
7)"default_score"
8)"1"
7)"attributes"
8)1)1)"identifier"
2)"goodsName"
3)"attribute"
4)"goodsName"
5)"type"
6)"TEXT"
7)"WEIGHT"
8)"1"
9)"SORTABLE"
...

FT.INFO 查詢指定名稱的索引信息

FT.DROPINDEX 刪除索引名稱

>FT.DROPINDEXidx:goods1
"OK"

FT.DROPINDEX 刪除指定名稱索引,不會刪除 hash 類型的源數據

如果需要刪除索引數據,直接使用 del 命令刪除索引關聯的源數據即可。

Java 使用 RediSearch

對于 Java 項目直接選用 Jedis4.0 以上版本就可以使用 RediSearch 提供的搜索功能,Jedis 在 4.0 以上版本自動支持 RediSearch,編寫 Jedis 連接 RedisSearch 測試用例,用 RedisSearch 命令創建如下,

Jedis 創建 RediSearch 客戶端

@Bean
publicUnifiedJedisunifiedJedis(GenericObjectPoolConfigjedisPoolConfig){
UnifiedJedisclient;
if(StringUtils.isNotEmpty(password)){
client=newJedisPooled(jedisPoolConfig,host,port,timeout,password,database);
}else{
client=newJedisPooled(jedisPoolConfig,host,port,timeout,null,database);
}
returnclient;
}

Jedis 創建索引

Schemaschema=newSchema()
.addSortableTextField("goodsName",1.0)
.addSortableTagField("tag","|");
IndexDefinitionrule=newIndexDefinition(IndexDefinition.Type.HASH)
.setPrefixes("idx:goods")
.setLanguage("chinese");#設置支持中文分詞
client.ftCreate(idxName,
IndexOptions.defaultOptions().setDefinition(rule),
schema);

Jedis 添加索引源數據

publicbooleanaddGoodsIndex(StringkeyPrefix,Goodsgoods){
Maphash=MyBeanUtil.toMap(goods);
hash.put("_language","chinese");
client.hset("idx:goods"+goods.getGoodsId(),MyBeanUtil.toMap(goods));
returntrue;
}

Jedis 中文查詢

publicSearchResultsearch(StringgoodsIdxName,SearchObjVOsearchObjVO,Pagepage){
//查詢關鍵字
Stringkeyword=searchObjVO.getKeyword();
StringqueryKey=String.format("@goodsName:(%s)",keyword);
Queryq=newQuery(queryKey);
Stringsort=searchObjVO.getSidx();
Stringorder=searchObjVO.getOrder();
//查詢是否排序
if(StringUtils.isNotBlank(sort)){
q.setSortBy(sort,Constants.SORT_ASC.equals(order));

}
//設置中文分詞查詢
q.setLanguage("chinese");
//設置分頁
q.limit((int)page.offset(),(int)page.getSize());
//返回查詢結果
returnclient.ftSearch(goodsIdxName,q);
}

最后聊兩句

RediSearch 是這幾年新出的一個全文搜索引擎,借助于 Redis 的成功,RediSearch 一出場就獲得了較高的關注度。

目前來看,我個人使用 RediSearch 作為項目的全文搜索引擎已經夠用了,它有易于安裝、索引占用內存低、查詢速度快等許多優點。不過在對 Redis 集群的支持上,RediSearch 目前只針對 Redis 企業版有解決方案,開源版還沒有,這一點需要告訴大家。

如果想要在生產環境大規模使用,我還是不太建議的。





審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 生成器
    +關注

    關注

    7

    文章

    315

    瀏覽量

    21025
  • Hash
    +關注

    關注

    0

    文章

    32

    瀏覽量

    13206
  • Redis
    +關注

    關注

    0

    文章

    376

    瀏覽量

    10880

原文標題:換掉ES!Redis官方搜索引擎來了,性能炸裂!

文章出處:【微信號:芋道源碼,微信公眾號:芋道源碼】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    阿里國際推出全球首個B2B AI搜索引擎Accio

    近日,在歐洲科技峰會Web Summit上,阿里國際正式推出了全球首個B2B領域的AI搜索引擎——Accio。這一創新產品面向全球商家開放,標志著阿里國際正式入局當前備受矚目的AI Search賽道。
    的頭像 發表于 11-15 16:53 ?705次閱讀

    Meta開發新搜索引擎,減少對谷歌和必應的依賴

    近日,Meta正在積極進軍人工智能領域,并試圖跟上OpenAI的發展步伐。為實現這一目標,Meta正在開發一款全新的搜索引擎,該搜索引擎具備網絡爬蟲功能,能夠為用戶提供有關時事的對話答案,而這些答案
    的頭像 發表于 10-29 11:49 ?387次閱讀

    月訪問量超2億,增速113%!360AI搜索成為全球增速最快的AI搜索引擎

    與傳統搜索引擎不同,作為AI原生搜索引擎的360AI搜索基于公開網絡、知識庫、大模型三大支柱。借助首創的 CoE 技術架構,360AI搜索整合了國內主流的16家廠商51款大模型,支持用
    的頭像 發表于 09-09 13:44 ?483次閱讀
    月訪問量超2億,增速113%!360AI<b class='flag-5'>搜索</b>成為全球增速最快的AI<b class='flag-5'>搜索引擎</b>

    OpenAI推出SearchGPT原型,正式向Google搜索引擎發起挑戰

    在人工智能領域的持續探索中,OpenAI 邁出了重大一步,發布了其最新的 SearchGPT 原型,直接瞄準了 Google 的核心業務——搜索引擎。這一舉動不僅標志著 OpenAI 在技術上的又一次飛躍,也預示著搜索引擎市場即將迎來一場前所未有的變革。
    的頭像 發表于 07-26 15:11 ?581次閱讀

    微軟計劃在搜索引擎Bing中引入AI摘要功能

    近期,科技界傳來新動向,微軟緊隨百度與谷歌的步伐,宣布計劃在其搜索引擎Bing中引入先進的AI摘要功能,旨在為用戶帶來更加智能、豐富的搜索體驗。
    的頭像 發表于 07-26 14:23 ?475次閱讀

    新火種AI|谷歌推出AI搜索引擎惹得出版商擔憂!新聞流量的至暗時刻要來了嗎?

    作者:小巖 編輯:彩云 在數字化浪潮的推動下,AI技術正逐漸滲透到我們生活的方方面面。最近,谷歌宣布推出一款全新的AI搜索引擎,這在使我們見識到了科技巨頭所擁有的超能力和“鈔”能力的同時,也讓我們
    的頭像 發表于 05-17 09:40 ?359次閱讀
    新火種AI|谷歌推出AI<b class='flag-5'>搜索引擎</b>惹得出版商擔憂!新聞流量的至暗時刻要<b class='flag-5'>來了</b>嗎?

    OpenAI否認將推出搜索產品或GPT-5

    此消息對致力于將ChatGPT嵌入必應搜索引擎的微軟或許有所積極影響。早期已有報導披露,該AI企業有意研發競品以抗衡谷歌搜索引擎
    的頭像 發表于 05-13 15:14 ?389次閱讀

    OpenAI注冊新域名,準備推出結合AI技術的搜索引擎挑戰谷歌

    OpenAI最近注冊了“search.chatgpt.com”域名,看起來是要推出一款新的搜索引擎
    的頭像 發表于 05-08 10:41 ?465次閱讀

    OpenAI或將推出ChatGPT搜索引擎

    據可靠消息透露,OpenAI正秘密研發一款以ChatGPT為基礎的大型產品,其核心功能將是一款新型搜索引擎,旨在為用戶提供更便捷的上網體驗。
    的頭像 發表于 05-08 10:19 ?509次閱讀

    新火種AI|挑戰谷歌,OpenAI要推出搜索引擎

    新的搜索引擎,幫助用書輕松上網。 OpenAI的這一動向引起了業界的廣泛關注。作為OpenAI開發的一款強大的AI大語言模型,ChatGPT已經在自然語言處理的領域取得了顯著的成果,并給了人們全新的獲取信息的體驗。因此,自誕生以來,ChatGPT一直都被不少人視為能夠給予谷歌
    的頭像 發表于 05-07 22:06 ?365次閱讀
    新火種AI|挑戰谷歌,OpenAI要推出<b class='flag-5'>搜索引擎</b>?

    OpenAI或將在5月9日發布ChatGPT版搜索引擎

    OpenAI可能即將與谷歌展開正面競爭,推出基于ChatGPT的搜索引擎。根據Reddit網友的最新爆料,OpenAI有望在5月9日公布其全新的搜索產品。據悉,與這一新產品相對應的搜索網頁search.chatgpt.com的域
    的頭像 發表于 05-07 09:28 ?631次閱讀

    潤和軟件與新財富聯合發布金融AI對話式搜索引擎“金融搜一搜”產品

    3月29日,新財富投顧嘉年華活動中,江蘇潤和軟件股份有限公司(以下簡稱“潤和軟件”)與深圳市新財富數字科技有限責任公司(以下簡稱“新財富”)聯合發布了金融AI對話式搜索引擎——“金融搜一搜”產品,助力金融投資場景智能化升級。
    的頭像 發表于 04-02 10:15 ?500次閱讀
    潤和軟件與新財富聯合發布金融AI對話式<b class='flag-5'>搜索引擎</b>“金融搜一搜”產品

    微軟向Windows 10/11推送更新,建議將Bing設為Chrome默認搜索引擎

    微軟通過提示窗口表示,只要將Bing設為Chrome瀏覽器的默認搜索引擎,即可免費享用ChatGPT-4,且每天可與Bing人工智能進行數百次的對話交流。
    的頭像 發表于 03-15 14:32 ?1358次閱讀

    生成式AI恐使搜索引擎衰退,預計2026年搜索量將下滑25%

    據市場分析機構Gartner報道,生成式AI對傳統搜索引擎構成重大威脅,預計至2026年搜索量將降低25%。為此,企業需調整營銷策略。
    的頭像 發表于 02-20 10:04 ?709次閱讀

    谷歌搜索引擎優化的各個方面和步驟

    谷歌搜索引擎是最受歡迎和廣泛使用的搜索引擎之一,為了使你的網站在谷歌上更好地排名并提高曝光度,你可以采取一些谷歌搜索引擎優化的步驟。 使用關鍵字研究工具,如Google AdWords關鍵字規劃工具
    的頭像 發表于 01-25 10:29 ?893次閱讀
    主站蜘蛛池模板: 日本一卡二卡三卡四卡无卡免费播放| 甜性涩爱在线播放| 影音先锋av天堂| 亚洲熟女片嫩草影院| 久久学生精品国产自在拍| 1a级毛片免费观看| 久久精品视频91| 亚洲精品第五页中文字幕| 久久www99re在线播放| 3d无遮挡h肉动漫在线播放| 日本xxxxxxxxx老师59| 含羞草国产亚洲精品岁国产精品| 小荡娃奶真大| 狼好色有你好看| 国产 日韩 欧美 综合 激情| 亚洲香蕉视频在线播放| 欧美手机在线播放| 韩日美无码精品无码| OLDMAN老头456 TUBE| 日本六九视频| 国色精品VA在线观看免费视频| 99久久久精品| 亚洲精品伊人久久久久 | 国产网红主播精品福利大秀专区| 一边吃奶一边添P好爽故事| 精品人妻无码一区二区三区蜜桃臀| abp-146| 亚洲 国产 日韩 欧美 在线| 国产看黄网站又黄又爽又色| 18日本人XXXXXX18| 午夜毛片在线观看| 男生jj插入女生jj| 荡乳乱公小说| 印度老妇女bbbxxx| 天天操天天干天天爽| 男人天堂黄色| 久久国产精品永久免费网站| 国产精品看高国产精品不卡| A级韩国乱理伦片在线观看| 亚洲在线v观看免费国| 四房播播开心色播|