cao死我好湿好紧好爽动态视屏|精选久久久久久久久久|中文无码精品一区二区三区四季|AAA国语精品刺激对白视频|

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

dapper分頁查詢(dapper連接sqlite)

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

Redis Search是一個(gè)Redis模塊,它使用壓縮的倒排索引來實(shí)現(xiàn)快速的索引和低內(nèi)存占用。Redis Search可以對(duì)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的索引,用于存儲(chǔ)博客文章的標(biāo)題、內(nèi)容和標(biāo)簽,你可以運(yùn)行:

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

2、添加文檔

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

這個(gè)命令會(huì)添加一個(gè)ID為blog:1的文檔到blog索引中,并給它一個(gè)分?jǐn)?shù)為1.0(默認(rèn)為1.0)。它還會(huì)指定三個(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è)命令會(huì)返回一個(gè)結(jié)果集,包含匹配的文檔數(shù)量、文檔ID和字段值。你可以使用LIMIT選項(xiàng)來分頁查詢,或者使用RETURN選項(xiàng)來指定返回哪些字段。

4、更新文檔

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

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

5、刪除文檔

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

這個(gè)命令會(huì)從索引和數(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)提供對(duì) Redis Stack 命令的原生支持。

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

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

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

// 添加一篇博客文章到blog索引中client.AddDocument(// 添加一個(gè)文檔對(duì)象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è)查詢對(duì)象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)載請(qǐng)注明出處。

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

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

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

武漢app定制開發(fā)公司(武漢app定制開發(fā)公司怎么樣)

武漢app定制開發(fā)公司(武漢app定制開發(fā)公司怎么樣)

1華盛恒輝科技有限公司 上榜理由華盛恒輝是一家專注于高端軟件定制開發(fā)服務(wù)和高端建設(shè)的服務(wù)機(jī)構(gòu),致力于為企業(yè)提供全面系統(tǒng)的開發(fā)制作方案在開發(fā)建設(shè)到運(yùn)營推廣領(lǐng)域擁有豐富經(jīng)驗(yàn),在教育,醫(yī)療,APP,管理,商城,人工。 三整體評(píng)估選擇開發(fā)公司,一定要進(jìn)行整體評(píng)估,一是評(píng)估自身,二是評(píng)估對(duì)方四跟進(jìn)速度好的AP...

做企業(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é)??梢越o學(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)行...

優(yōu)秀的app首頁設(shè)計(jì)樣式(優(yōu)秀的app首頁設(shè)計(jì)樣式有哪些)

優(yōu)秀的app首頁設(shè)計(jì)樣式(優(yōu)秀的app首頁設(shè)計(jì)樣式有哪些)

UI設(shè)計(jì)必要知道的APP頁面 一起始頁launchscreen說明程序啟動(dòng)時(shí)需要一定的反應(yīng)時(shí)間,在這段時(shí)間內(nèi)屏幕處于空置狀態(tài),為了讓用戶知道程序已經(jīng)啟動(dòng),現(xiàn)在只有一個(gè)加載過程,而且也是為了緩解用戶的焦慮,所以用圖片視頻代替;回答目前互聯(lián)發(fā)展勢頭越來越好,app應(yīng)用也是日益增多,因此app的引導(dǎo)頁設(shè)計(jì)...

杭州定制開發(fā)app案例(杭州定制開發(fā)app案例分析)

杭州定制開發(fā)app案例(杭州定制開發(fā)app案例分析)

2你想要開發(fā)的類型是否是開發(fā)公司的強(qiáng)項(xiàng) 再牛的APP開發(fā)公司不可能什么類型什么行業(yè)的APP都開發(fā)過,一般比較好的APP開發(fā)公司都有強(qiáng)項(xiàng),也就是說擅長開發(fā)某一個(gè)或者哪幾個(gè)行業(yè)的APP,并且有高質(zhì)量的開發(fā)案例所以找APP開發(fā);開發(fā)一個(gè)App的費(fèi)用因多種因素而異,一般來說,定制開發(fā)的App價(jià)格會(huì)比較高根據(jù)...

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解決方案提供商?hào)|軟以軟件技術(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ā)公司測試人員,可以下載并安裝...