在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

    文章

    322

    瀏覽量

    21725
  • Hash
    +關注

    關注

    0

    文章

    32

    瀏覽量

    13454
  • Redis
    +關注

    關注

    0

    文章

    385

    瀏覽量

    11338

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

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

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    微軟面臨法國反壟斷機構調查

    據媒體報道,微軟目前正在接受法國反壟斷機構的深入調查。此次調查的核心關注點在于,微軟是否在搜索引擎聯盟市場中濫用其市場支配地位。 知情人士透露,法國監管機構正在仔細評估微軟的行為,特別是其是否向那些
    的頭像 發表于 02-11 10:57 ?520次閱讀

    LZO Data Compression,高性能LZO無損數據壓縮加速器介紹,FPGA&ASIC

    的AXI-Stream數據總線(128-bit數據寬度) 經典性能指標:1.1Gbps壓縮速率@1個搜索引擎@200MHz內核時鐘2.16Gbps壓縮速率@16個搜索引擎@200MHz內核時鐘3.32Gbps壓縮
    發表于 01-24 23:53

    javascript:void(0) 是否影響SEO優化

    使用 javascript:void(0) 確實可能對SEO優化產生負面影響 。以下是關于 javascript:void(0) 對SEO影響的具體分析: 搜索引擎爬蟲的理解問題 搜索引擎爬蟲(如
    的頭像 發表于 12-31 16:08 ?504次閱讀

    蘋果為谷歌支付數十億美元辯護,參與搜索案反壟斷審判

    近日,蘋果公司已正式要求參與谷歌即將在美國舉行的在線搜索反壟斷審判,此舉旨在為其與谷歌之間的收入分成協議進行辯護。該協議使得谷歌成為Safari瀏覽器的默認搜索引擎,而谷歌每年因此向蘋果支付數十
    的頭像 發表于 12-26 10:41 ?467次閱讀

    SSR的優勢和劣勢分析

    的SEO效果,有助于提高搜索引擎排名。搜索引擎爬蟲可以直接抓取到渲染好的頁面內容,相比客戶端渲染(CSR)更利于搜索引擎索引和排名。 首屏加載性能
    的頭像 發表于 11-18 11:27 ?1384次閱讀

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

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

    阿里國際推出B2B領域AI搜索引擎Accio

    近日,阿里國際宣布正式進軍AI搜索領域,并面向全球商家推出了首個B2B領域的AI搜索引擎——Accio。這一創新產品的推出,標志著阿里國際在電子商務和人工智能技術結合方面邁出了重要一步。 Accio
    的頭像 發表于 11-14 11:47 ?829次閱讀

    租用多ip云服務器可以帶來哪些好處?應用場景有哪些?

    租用多ip云服務器可以為用戶帶來多種好處和應用場景,主要包括: 1、SEO優化: 搜索引擎優化(SEO)通常推薦使用多個ip地址來托管不同的網站,以減少網站之間的潛在負面影響,提高搜索引擎索引效率
    的頭像 發表于 11-04 11:33 ?451次閱讀

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

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

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

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

    恒訊科技分析:香港站群服務器為什么要做偽靜態處理呢?

    提高搜索引擎優化(SEO)效果:偽靜態處理可以使得動態網頁URL看起來像是靜態網頁的URL,這有助于搜索引擎更好地索引網站內容。搜索引擎通常偏好靜態網頁,因為它們認為靜態網頁更穩定、內
    的頭像 發表于 07-31 12:49 ?479次閱讀

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

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

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

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

    AI搜索新貴彎道超車難

    新玩家高調入場,老玩家默默升級,搜索市場進入新一輪洗牌階段。最近一段時間,老舊的搜索行業開出了新花。從2009年開始,谷歌、百度成了搜索領域繞不開的存在,它們占據了全球搜索引擎市場絕大
    的頭像 發表于 07-09 08:05 ?231次閱讀
    AI<b class='flag-5'>搜索</b>新貴彎道超車難

    AI搜索挑戰百度谷歌,重塑信息檢索的市場?

    ? ? 作者:一號 編輯:美美 AI正在顛覆傳統的搜索引擎市場。 隨著ChatGPT等大型語言模型的火爆,AI搜索技術成為了公眾和業界關注的焦點。這些技術不僅能夠提供快速、準確的信息檢索,還能夠通過
    的頭像 發表于 07-04 21:15 ?476次閱讀
    AI<b class='flag-5'>搜索</b>挑戰百度谷歌,重塑信息檢索的市場?
    主站蜘蛛池模板: 亚洲国产精品国产自在在线 | 免费看黄色毛片 | 6080伦理久久亚洲精品 | 高清色黄毛片一级毛片 | 久久精品视频网站 | 国产精品福利一区二区亚瑟 | 97一区二区三区 | 日本特黄特色大片免费播放视频 | 萝l在线精品社区资源 | 女人被两根一起进3p在线观看 | 亚洲综合色站 | 91在线激情在线观看 | 四虎永久免费最新在线 | 欧美一区二区不卡视频 | 黄页在线播放网址 | 免费三级pq | 国产在线播 | 日本黄a| 欧洲国产精品精华液 | 国产看色免费 | 四虎影视网址 | 在线精品国产第一页 | 国产网站在线播放 | 美女午夜 | 欧美亚洲一区二区三区在线 | 一级毛片成人免费看a | 日本精品三级 | 西西人体44rt高清午夜 | 午夜爱爱网站 | 日日干天天爽 | 四虎最新网址入口 | 日本拍拍拍 | 亚洲免费一 | 国产天堂网 | 狠狠色狠狠色综合日日不卡 | q2002在线观看免费 | 一级做α爰片久久毛片 | 美女露出扒开尿口让男人桶 | 四虎永久在线免费观看 | 五月婷婷六月丁香激情 | 久久网站免费 |