日韩精品亚洲精品中文字幕乱伦AV|曰韩区二区三区日韩中文字幕五码|ady99久久人人看人人摸人人|动漫一区二区黄99精品视频在线|AV片在线观看亚洲中文国产精品|伦乱在线VA欧美性爱一二区|亚洲无码mv91热色视频|激情六月综合欧美精品中文

當(dāng)前位置:首頁 > APP資源 > 正文內(nèi)容

dapper分頁查詢(dapper連接sqlite)

APP資源1年前 (2023-12-29)431

Redis Search是一個(gè)Redis模塊,它使用壓縮的倒排索引來實(shí)現(xiàn)快速的索引和低內(nèi)存占用。Redis Search可以對Redis數(shù)據(jù)進(jìn)行精確短語匹配、模糊搜索、數(shù)值過濾、地理空間篩選等多種搜索功能。Redis Search還支持聚合、高亮、詞干提取、拼寫糾錯(cuò)等特性。

RediSearch查詢語言類似于SQL,但更加簡潔和靈活。你可以使用RediSearch命令來創(chuàng)建索引、添加文檔、搜索文檔、更新文檔、刪除文檔等。

與elasticsearch的比較

elasticsearch是另一個(gè)流行的開源搜索引擎,它也支持全文搜索和聚合功能。那么,Redis Search和elasticsearch有什么區(qū)別和優(yōu)勢呢?

Redis Search是基于內(nèi)存的,它可以提供更高的性能和更低的延遲。elasticsearch則是基于磁盤的,它需要依賴緩存來提高速度。

Redis Search是一個(gè)Redis模塊,它可以直接在Redis中運(yùn)行,無需額外的安裝和配置。elasticsearch則需要單獨(dú)部署和管理。

Redis Search支持多種擴(kuò)展模塊,如RedisJSON(用于處理JSON文檔),RedisGraph(用于處理圖數(shù)據(jù)),RedisTimeSeries(用于處理時(shí)間序列數(shù)據(jù)),RediSearch(用于處理全文搜索)等。elasticsearch則需要依賴插件來擴(kuò)展其功能。

一、 Redis Search的安裝

有多種方式可以安裝和使用Redis Search,最簡單的方式是使用Redis Stack Docker鏡像,它已經(jīng)集成了Redis和多個(gè)模塊,包括Redis Search。只需運(yùn)行一條命令,就可以在本地創(chuàng)建一個(gè)RediSearch容器:

要連接到這個(gè)實(shí)例,運(yùn)行:

二、 Redis Search的使用

要使用Redis Search,你首先需要在Redis數(shù)據(jù)上聲明索引,然后使用RediSearch查詢語言來查詢這些數(shù)據(jù)。

1、創(chuàng)建索引

要?jiǎng)?chuàng)建一個(gè)索引,你需要使用FT.CREATE命令,并指定索引名、索引選項(xiàng)和字段名。例如,要?jiǎng)?chuàng)建一個(gè)名為blog的索引,用于存儲博客文章的標(biāo)題、內(nèi)容和標(biāo)簽,你可以運(yùn)行:

這個(gè)命令會創(chuàng)建一個(gè)名為blog的索引,它會自動(dòng)索引所有以blog:為前綴的散列鍵。它還會指定三個(gè)字段:title(文本類型,權(quán)重為5.0),content(文本類型,權(quán)重為1.0)和tags(標(biāo)簽類型,分隔符為逗號)。

2、添加文檔

要添加一個(gè)文檔到索引中,你需要使用FT.ADD命令,并指定文檔ID、字段值和分?jǐn)?shù)。例如,要添加一篇博客文章到blog索引中,你可以運(yùn)行:

這個(gè)命令會添加一個(gè)ID為blog:1的文檔到blog索引中,并給它一個(gè)分?jǐn)?shù)為1.0(默認(rèn)為1.0)。它還會指定三個(gè)字段的值:title為"Hello Redis Search",content為"This is a blog post about Redis Search, a query and full-text search engine for Redis.“,tags為"redis,search”。

3、搜索文檔

要搜索一個(gè)文檔,你需要使用FT.SEARCH命令,并指定索引名和查詢表達(dá)式。你可以使用多種查詢語法,如精確匹配、模糊匹配、數(shù)值過濾、布爾運(yùn)算等。例如,要搜索blog索引中包含"redis"或"search"的文檔,你可以運(yùn)行:

展開全文

這個(gè)命令會返回一個(gè)結(jié)果集,包含匹配的文檔數(shù)量、文檔ID和字段值。你可以使用LIMIT選項(xiàng)來分頁查詢,或者使用RETURN選項(xiàng)來指定返回哪些字段。

4、更新文檔

要更新一個(gè)文檔,你需要使用FT.PARTIAL命令,并指定文檔ID和要更新的字段值。例如,要更新blog:1文檔的標(biāo)題和標(biāo)簽,你可以運(yùn)行:

這個(gè)命令會更新blog:1文檔的title和tags字段的值,并重新索引這些字段。

5、刪除文檔

要?jiǎng)h除一個(gè)文檔,你需要使用FT.DEL命令,并指定文檔ID。例如,要?jiǎng)h除blog:1文檔,你可以運(yùn)行:

這個(gè)命令會從索引和數(shù)據(jù)庫中刪除blog:1文檔,并返回刪除的數(shù)量。

三、C#操作Redis Search結(jié)構(gòu)

這里使用了NRediSearch和StackExchange.Redis兩個(gè)庫,實(shí)現(xiàn)在C#中使用Redis和RediSearch的功能。也可以把 NRediSearch換為NRedisStack庫, NRedisStack庫基于 StackExchange.Redis 構(gòu)建,旨在為 C# 生態(tài)系統(tǒng)提供對 Redis Stack 命令的原生支持。

以下demo中已添加詳細(xì)注釋,是基于本文中有關(guān)Redis Search使用樣例的C#實(shí)現(xiàn),大家可對比閱讀。

publicclassRediSearchDemoProgram{privatestaticvoidMain( string[] args ) {// 創(chuàng)建一個(gè)連接到本地Redis實(shí)例的連接器ConnectionMultiplexer redis = ConnectionMultiplexer.Connect( "localhost"); // 獲取一個(gè)數(shù)據(jù)庫對象IDatabase db = redis.GetDatabase;

// 創(chuàng)建一個(gè)名為blog的索引,用于存儲博客文章的標(biāo)題、內(nèi)容和標(biāo)簽varclient = newClient( "blog", db); // 創(chuàng)建一個(gè)客戶端對象client.CreateIndex( newSchema // 創(chuàng)建一個(gè)索引對象.AddTextField( "title", 5.0) // 文本類型,權(quán)重為5.0.AddTextField( "content", 1.0) // 文本類型,權(quán)重為1.0.AddTagField( "tags", ","), newClient.ConfiguredIndexOptions); // 標(biāo)簽類型,分隔符為逗號

// 添加一篇博客文章到blog索引中client.AddDocument(// 添加一個(gè)文檔對象newDocument( "blog:1", newDictionary string, RedisValue { { "title", "Hello Redis Search"}, //設(shè)置標(biāo)題字段{ "content", "This is a blog post about Redis Search, a query and full-text search engine for Redis."}, // 設(shè)置內(nèi)容字段{ "tags", "redis,search"}, // 設(shè)置標(biāo)簽字段}));

// 搜索blog索引中包含"redis"或"search"的文檔varresult = client.Search( newQuery( "redis|search")); // 創(chuàng)建一個(gè)查詢對象Console.WriteLine(result.TotalResults); // 打印匹配的文檔數(shù)量foreach( vardoc inresult.Documents) {Console.WriteLine(doc.Id); // 打印文檔IDConsole.WriteLine(doc[ "title"]); // 打印標(biāo)題字段Console.WriteLine(doc[ "content"]); // 打印內(nèi)容字段Console.WriteLine(doc[ "tags"]); // 打印標(biāo)簽字段}

// 更新blog:1文檔的標(biāo)題和標(biāo)簽client.UpdateDocument( "blog:1", newDictionary string, RedisValue { { "title", "Hello RediSearch"}, //更新標(biāo)題字段{ "tags", "redis,search,full-text"}, // 更新標(biāo)簽字段});

// 刪除blog:1文檔client.DeleteDocument( "blog:1"); }}

本文就到這里了,下一篇我們來探索如何通過Redis Search進(jìn)行基于向量的搜索,實(shí)現(xiàn)文本相似度查詢。相比之下,這種搜索方式可以保留文本中的語義、語法和情感信息。

dapper分頁查詢(dapper連接sqlite)

??感謝閱讀,點(diǎn)贊+分享+收藏+關(guān)注??

掃描二維碼推送至手機(jī)訪問。

版權(quán)聲明:本文由飛速云SEO網(wǎng)絡(luò)優(yōu)化推廣發(fā)布,如需轉(zhuǎn)載請注明出處。

本文鏈接:http://www.atlasseeker.com/post/74730.html

標(biāo)簽: dapper分頁查詢

“dapper分頁查詢(dapper連接sqlite)” 的相關(guān)文章

網(wǎng)站類app(網(wǎng)站類型有哪些)

網(wǎng)站類app(網(wǎng)站類型有哪些)

1、2旅游app排行榜前十名3旅游的app有哪些4旅游攻略app排行榜前十名口碑最好的旅游軟件有哪些?口碑好的旅游軟件去哪兒攜程旅行窮游驢媽媽旅游螞蜂窩自由行一去哪兒去哪兒APP是國內(nèi)較大的一家旅游出行APP,上面有旅游。 2、2AppmakriOS,WindowsPhone,AndroidAppM...

做企業(yè)規(guī)劃的app(做企業(yè)規(guī)劃的步驟有哪些)

做企業(yè)規(guī)劃的app(做企業(yè)規(guī)劃的步驟有哪些)

十大室內(nèi)設(shè)計(jì)培訓(xùn)機(jī)構(gòu)排行榜 現(xiàn)在室內(nèi)設(shè)計(jì)的門檻越來越低,越來越考驗(yàn)設(shè)計(jì)師的能力,想要讓自己的技術(shù)精益求精,想在預(yù)計(jì)的時(shí)間內(nèi)學(xué)到真本領(lǐng),則選擇去正規(guī)學(xué)校進(jìn)行專業(yè)的學(xué)習(xí)。因?yàn)閷I(yè)的室內(nèi)培訓(xùn)學(xué)校可以給學(xué)員進(jìn)行更加正規(guī)的培訓(xùn),比如杭州清風(fēng)室內(nèi)設(shè)計(jì)培訓(xùn)學(xué)院,專攻室內(nèi)設(shè)計(jì)一門專業(yè),老師都是股份責(zé)任制,培訓(xùn)班進(jìn)行...

app應(yīng)用開發(fā)哪里做得好(各種app開發(fā)的是學(xué)什么專業(yè)的)

app應(yīng)用開發(fā)哪里做得好(各種app開發(fā)的是學(xué)什么專業(yè)的)

北京華盛恒輝科技有限公司東軟集團(tuán)海輝軟件等都不錯(cuò)北京華盛恒輝科技有限公司hivekion是一家專注IT產(chǎn)品研發(fā)與服務(wù)的企業(yè),是全球領(lǐng)先的IT解決方案提供商東軟以軟件技術(shù)為核心,通過軟件與服務(wù)的結(jié)合,軟件與制造的。 其實(shí)市場上做APP的也有好多公司,但是每一個(gè)公司他主營都不一樣,因?yàn)槊總€(gè)公司技術(shù)的專業(yè)...

app軟件開發(fā)制作方案(app軟件開發(fā)制作方案怎么做)

app軟件開發(fā)制作方案(app軟件開發(fā)制作方案怎么做)

從最初與客戶了解需求功能到最終的測試上線,一個(gè)完整的APP就被開發(fā)出來了如同其他軟件開發(fā)一樣,APP的整個(gè)生命周期都是需要緊扣用戶需求的,一旦脫離用戶需求,就極可能開發(fā)出質(zhì)量差用戶不認(rèn)可的APP軟件,這是許多APP開發(fā);就可以聯(lián)網(wǎng)進(jìn)行系統(tǒng)內(nèi)測,參與人員包括項(xiàng)目需求方和開發(fā)公司測試人員,可以下載并安裝...

做個(gè)手機(jī)購物app的費(fèi)用大概多少(做個(gè)手機(jī)購物app的費(fèi)用大概多少呢)

做個(gè)手機(jī)購物app的費(fèi)用大概多少(做個(gè)手機(jī)購物app的費(fèi)用大概多少呢)

1、根據(jù)2019年12月的最新數(shù)據(jù),開發(fā)一個(gè)app大概需要幾萬到幾百萬不等開發(fā)一個(gè)安卓app軟件,需要考慮因素很多如果是一款功能簡單不是很全面,客戶幾乎沒有什么要求的APP,只需要讓美工對前臺ui頁面進(jìn)行一定程度的修改,最短一;做一個(gè)手機(jī)購物APP要多少錢 做一個(gè)購物類型的APP大概需要多少錢,一年...

南昌制作app(南昌制作企業(yè)網(wǎng)站公司)

南昌制作app(南昌制作企業(yè)網(wǎng)站公司)

1、南昌地鐵app鷺鷺行是由南昌軌道交通集團(tuán)有限公司推出的一款地鐵出行軟件,能讓廣大市民朋友的出行更加方便快捷,其中掃碼乘車最為實(shí)用,用戶通過它可以在地鐵里面的閘機(jī)口掃碼,進(jìn)出掃兩次碼就能完成乘車付費(fèi)了,讓你不再使用零錢;夜幕app是正規(guī)的夜幕是一塊提供按摩養(yǎng)生服務(wù)的生活類軟件,可以在線預(yù)訂各種舒適...