国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Redis實現(xiàn)高性能的全文搜索引擎---RediSearch

這篇具有很好參考價值的文章主要介紹了Redis實現(xiàn)高性能的全文搜索引擎---RediSearch。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

RediSearch是一個Redis模塊,為Redis提供查詢、二次索引和全文搜索,他的性能甚至比es還要高。

安裝:

docker pull redislabs/redismod:preview

啟動容器:

注意端口號不要和redis沖突了:

docker run -p 6399:6379 --name redismod  -v /mydata/redismod/data:/data -d redislabs/redismod:preview

redis 全文檢索,redis,redis,搜索引擎,java

使用springboot 集成一下:

pom

		<dependency>
			<groupId>com.redislabs</groupId>
			<artifactId>jredisearch</artifactId>
			<version>1.8.1</version>
		</dependency>
		<dependency>
			<groupId>cn.hutool</groupId>
			<artifactId>hutool-all</artifactId>
			<version>5.3.10</version>
		</dependency>
		<dependency>
			<groupId>com.hankcs</groupId>
			<artifactId>hanlp</artifactId>
			<version>portable-1.7.8</version>
		</dependency>

代碼

package com.example.demo.Utils.RedisearchUtills;
import io.redisearch.*;
import io.redisearch.client.AddOptions;
import io.redisearch.client.Client;
import java.util.HashMap;
import java.util.Map;

public class redisearchMain {

    public static void main(String[] args) {
        Client client = new Client("student", "120.48.54.67", 6399);

        // 定義一個索引模式
        Schema schema = new Schema().addTextField("title", 5.0).addTextField("body", 1.0).addNumericField("star");

        // 首次run 可以先注釋掉
        client.dropIndex();//先清除索引

        // 創(chuàng)建索引
        client.createIndex(schema, Client.IndexOptions.Default());

        // 向索引中添加文檔
        Map<String, Object> fields1 = createDocument("任何視頻", "新文檔中不存在的內(nèi)容將被保留。兩者中存在的字段都會被覆蓋", 1000);
        Map<String, Object> fields2 = createDocument("任何通信", "新文檔中不存在的內(nèi)容將丟失", 500);

//        client.addDocument("doc1", fields1);
//        client.addDocument("doc2", fields2);
        Document doc1 = new Document("doc1", fields1, 1.0, null);
        Document doc2 = new Document("doc2", fields2, 1.0, null);
        AddOptions options = new AddOptions().setNosave(false);
        options.setLanguage("chinese");
        client.addDocument(doc1, options);
        client.addDocument(doc2, options);

        Query query = new Query("內(nèi)容").addFilter(new Query.NumericFilter("star", 0, 1500)).setWithScores().limit(0, 10);
        SearchResult result = client.search(query);
        result.docs.stream().forEach(docs->
                System.out.println("====="+docs)
        );
    }

    private static Map<String, Object> createDocument(String title, String body, Integer price){
        Map<String, Object> fields = new HashMap<String, Object>();
        fields.put("title", title);
        fields.put("body", body);
        fields.put("star", price);
        return fields;
    }

}

redis 全文檢索,redis,redis,搜索引擎,java文章來源地址http://www.zghlxwxcb.cn/news/detail-563327.html

到了這里,關(guān)于Redis實現(xiàn)高性能的全文搜索引擎---RediSearch的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

  • 高性能分布式緩存Redis(三) 擴展應用

    高性能分布式緩存Redis(三) 擴展應用

    在并發(fā)編程中,通過鎖,來避免由于競爭而造成的數(shù)據(jù)不一致問題 問題分析 現(xiàn)象:本地鎖在多節(jié)點下失效(集群/分布式) 原因:本地鎖它只能鎖住本地JVM進程中的多個線程,對于多個JVM進程的不同線程間是鎖不住的 解決:分布式鎖(在分布式環(huán)境下提供鎖服務,并且達到本地

    2024年02月12日
    瀏覽(94)
  • Redis核心數(shù)據(jù)結(jié)構(gòu)實戰(zhàn)與高性能解析

    Redis核心數(shù)據(jù)結(jié)構(gòu)實戰(zhàn)與高性能解析

    目錄 一、安裝Redis 二、Redis線程與高性能 2.1 Redis是單線程么? 2.2 Redis讀寫是單線程為何這么快? 2.3 Redis如何處理并發(fā)操作命令? 三、核心數(shù)據(jù)結(jié)構(gòu)實戰(zhàn) 3.1 字符串常用操作實戰(zhàn) SET 存入鍵值對 SETNX SETEX MSET 批量存入鍵值對 MSETNX DECR 原子減1 DECRBY 原子減 INCR 原子加1 INCRBY 原子

    2024年02月07日
    瀏覽(20)
  • “深入理解Redis:高性能緩存和數(shù)據(jù)存儲技術(shù)解析“

    標題:深入理解Redis:高性能緩存和數(shù)據(jù)存儲技術(shù)解析 摘要:本文將深入探討Redis作為一種高性能緩存和數(shù)據(jù)存儲技術(shù)的原理和用法。我們將從Redis的基本特性入手,介紹其在緩存和數(shù)據(jù)存儲方面的優(yōu)勢,并通過實際示例代碼展示如何使用Redis提升應用程序的性能和可靠性。

    2024年02月16日
    瀏覽(20)
  • “深入理解Redis:高性能緩存與數(shù)據(jù)存儲的秘密“

    標題:深入理解Redis:高性能緩存與數(shù)據(jù)存儲的秘密 在現(xiàn)代應用程序的開發(fā)中,緩存和數(shù)據(jù)存儲是非常重要的組成部分。它們不僅可以提高應用程序的性能,還可以減輕數(shù)據(jù)庫和網(wǎng)絡(luò)的負載。其中,Redis作為一種高性能的內(nèi)存數(shù)據(jù)存儲系統(tǒng),因其出色的性能和靈活的特性而備

    2024年02月16日
    瀏覽(26)
  • Redis學習指南(28)-Redis高性能特性之單線程模型

    Redis是一種高性能、非關(guān)系型的內(nèi)存數(shù)據(jù)庫,被廣泛應用于緩存、消息隊列、任務隊列等場景。Redis之所以能夠達到如此高的性能,其中一個重要的原因就是其采用了單線程模型。 Redis使用單線程模型指的是主要的工作線程只有一個,這個線程負責處理所有的客戶端請求和對數(shù)

    2024年01月24日
    瀏覽(25)
  • “深入解析Redis:高性能緩存與分布式數(shù)據(jù)存儲“

    標題:深入解析Redis:高性能緩存與分布式數(shù)據(jù)存儲 摘要:本文將深入解析Redis,介紹其作為高性能緩存和分布式數(shù)據(jù)存儲的特點和功能,并提供示例代碼展示其使用方法。 正文: 一、引言 Redis是一個開源的內(nèi)存數(shù)據(jù)結(jié)構(gòu)存儲系統(tǒng),它以其高性能、靈活的數(shù)據(jù)結(jié)構(gòu)以及豐富的

    2024年02月17日
    瀏覽(25)
  • “探索Redis:高性能鍵值存儲數(shù)據(jù)庫的實用指南“

    標題:探索Redis:高性能鍵值存儲數(shù)據(jù)庫的實用指南 引言: Redis是一種高性能的鍵值存儲數(shù)據(jù)庫,它通過將數(shù)據(jù)存儲在內(nèi)存中,提供了快速的讀寫操作。本文將介紹Redis的基本概念和常用功能,并提供示例代碼幫助讀者更好地理解和應用Redis。 Redis的基本概念 Redis是一個開源的

    2024年02月15日
    瀏覽(26)
  • Redis 分區(qū):構(gòu)建高性能、高可用的大規(guī)模數(shù)據(jù)存儲解決方案

    在 Redis 中,分區(qū)是一種將數(shù)據(jù)分布在多個實例上的技術(shù),用于處理大規(guī)模數(shù)據(jù)和提高系統(tǒng)性能。通過分區(qū),可以將數(shù)據(jù)均勻地分布在多個節(jié)點上,從而減輕單個節(jié)點的負載壓力,并實現(xiàn)水平擴展。 Redis 分區(qū)應用場景 1. 大規(guī)模數(shù)據(jù)存儲 在 Redis 中,單個實例的內(nèi)存有限,無法

    2024年04月14日
    瀏覽(22)
  • 【虹科干貨】Redis?Enterprise?自動分層技術(shù):大數(shù)據(jù)集高性能解決方案

    【虹科干貨】Redis?Enterprise?自動分層技術(shù):大數(shù)據(jù)集高性能解決方案

    越來越多的應用程序依賴于龐大的數(shù)據(jù)集合,而這些應用程序必須快速響應。 借助自動分層,Redis Enterprise 7.2 幫助開發(fā)人員輕松 創(chuàng)建超快的應用程序。何樂而不為? ? Redis 將數(shù)據(jù)存儲在內(nèi)存中,因此應用程序能以最快的速度檢索和處理數(shù)據(jù)。 然而,隨著 應用程序需要處理

    2024年02月05日
    瀏覽(19)
  • 輕松掌握組件啟動之Redis集群擴展秘籍:輕松擴容與縮容,釋放高性能潛能

    輕松掌握組件啟動之Redis集群擴展秘籍:輕松擴容與縮容,釋放高性能潛能

    在我們原始的集群基礎(chǔ)上,我們決定增加一臺主節(jié)點(8007)和一臺從節(jié)點(8008),這樣新增的節(jié)點將會在下圖中以虛線框的形式顯示在集群中。 1: 首先,在 /usr/local/redis-cluster 目錄下創(chuàng)建兩個文件夾,分別命名為 8007 和 8008。接下來,將 8001 文件夾下的 redis.conf 文件復制到 8007 和

    2024年02月08日
    瀏覽(15)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包