真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

SpringCloud(五):ElasticSearch搜索引擎-創(chuàng)新互聯(lián)

編寫:HorinJsor

創(chuàng)新互聯(lián)科技有限公司專業(yè)互聯(lián)網(wǎng)基礎(chǔ)服務(wù)商,為您提供綿陽(yáng)主機(jī)托管,高防主機(jī),成都IDC機(jī)房托管,成都主機(jī)托管等互聯(lián)網(wǎng)服務(wù)。

文章目錄
  • 一、ElasticSearch是什么?
    • 1.ES與Mysql概念對(duì)比
  • 二、ElasticSearch環(huán)境和基礎(chǔ)(索引庫(kù))
    • 1.安裝ES
    • 2.部署kibana和安裝IK分詞器
    • 3.創(chuàng)建、操作索引庫(kù)語(yǔ)法(在kibana ? dev tolls中運(yùn)行)
      • ①約束:
      • ②針對(duì)某個(gè)字段進(jìn)行約束,創(chuàng)建索引庫(kù)例子:
      • ③修改索引庫(kù)語(yǔ)法
      • ④文檔操作(在索引庫(kù)操作數(shù)據(jù))
    • 4、RestClient操作索引庫(kù)、文檔
      • 4.1 感覺(jué)要被刀的第一種方法(RestClient操作索引庫(kù))
      • 4.2 感覺(jué)要被刀的第一種方法(RestClient操作文檔)
  • 三、未完待續(xù)~
  • 總結(jié)


一、ElasticSearch是什么?

ElasticSearch是一款非常強(qiáng)大的開(kāi)源搜索引擎,可以幫助我們從海量數(shù)據(jù)中快速找到需要的內(nèi)容。


1.ES與Mysql概念對(duì)比

在這里插入圖片描述
在這里插入圖片描述


二、ElasticSearch環(huán)境和基礎(chǔ)(索引庫(kù)) 1.安裝ES

Blibili黑馬程序員 P81


2.部署kibana和安裝IK分詞器

kibana作用:幫我們發(fā)送請(qǐng)求語(yǔ)句到ES中,并可視化有哪些索引庫(kù)
Blibili黑馬程序員 P82

IK作用:處理中文分詞
Blibili黑馬程序員 P83


3.創(chuàng)建、操作索引庫(kù)語(yǔ)法(在kibana ? dev tolls中運(yùn)行)
①約束:

在這里插入圖片描述

②針對(duì)某個(gè)字段進(jìn)行約束,創(chuàng)建索引庫(kù)例子:

在這里插入圖片描述

PUT /heima   //指定索引庫(kù)名稱
{"mappings": {"properties": {  "info":{"type": "text",  //文本,可分詞類型
        "analyzer": "ik_smart"  //指定分詞器類型,ik為中文分詞器
      },
      "email":{"type": "keyword",    //精確值,不可分詞類型
        "index": "false"      //不參與索引
      },
      "name":{  	"type":"object",   //對(duì)象類型
        "properties": {  "firstName": {"type": "keyword"
          }
        }
      },
      // ... 略
    }
  }
}

兩個(gè)字段合成一個(gè)索引字段:
字段拷貝可以使用copy_to屬性將當(dāng)前字段拷貝到指定字段。

"all": {"type": "text",
  "analyzer": "ik_max_word"    //拷貝字段屬性
},
"brand": {"type": "keyword",    
  "copy_to": "all"      //指定拷貝到的目標(biāo)地點(diǎn)(字段)
}

③修改索引庫(kù)語(yǔ)法

在這里插入圖片描述

修改索引庫(kù):不能修改已經(jīng)創(chuàng)建的索引字段,只能新增索引庫(kù)不存在的字段

在這里插入圖片描述


④文檔操作(在索引庫(kù)操作數(shù)據(jù))

索引庫(kù)是為了限制數(shù)據(jù)規(guī)則,文檔是放數(shù)據(jù)。

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
全量修改:可當(dāng)新增使用,存在則會(huì)覆蓋原有文檔(數(shù)據(jù))。


4、RestClient操作索引庫(kù)、文檔

ES官方提供了各種不同語(yǔ)言的客戶端,用來(lái)操作ES。這些客戶端的本質(zhì)就是組裝DSL語(yǔ)句,通過(guò)http請(qǐng)求發(fā)送給ES。(簡(jiǎn)化 3 的操作)
官方文檔地址

4.1 感覺(jué)要被刀的第一種方法(RestClient操作索引庫(kù))

①引入依賴:pom配置文件

org.elasticsearch.clientelasticsearch-rest-high-level-client

②因?yàn)镾pringBoot默認(rèn)的ES版本是7.6.2,所以我們需要覆蓋默認(rèn)的ES版本:

1.87.12.1

③初始化客戶端:

RestHighLevelClient client = new RestHighLevelClient(RestClient.builder(
        HttpHost.create("http://192.168.150.101:9200")  //指定ES的端口
));

初始化客戶端參考完成代碼:

public class ElasticsearchDocumentTest {// 客戶端
    private RestHighLevelClient client; 
    
    @BeforeEach
    void setUp() {client = new RestHighLevelClient(RestClient.builder(
                HttpHost.create("http://192.168.150.101:9200")
        ));
    }
    @AfterEach
    void tearDown() throws IOException {client.close();
    }
}

④創(chuàng)建索引庫(kù):

@Test
void testCreateHotelIndex() throws IOException {// 1.創(chuàng)建Request對(duì)象
    CreateIndexRequest request = new CreateIndexRequest("hotel");
    // 2.請(qǐng)求參數(shù),MAPPING_TEMPLATE是靜態(tài)常量字符串,內(nèi)容是創(chuàng)建索引庫(kù)的DSL語(yǔ)句
    request.source(MAPPING_TEMPLATE, XContentType.JSON); //MAPPING_TEMPLATE是常量,放入SSL創(chuàng)庫(kù)語(yǔ)句
    // 3.發(fā)起請(qǐng)求
    client.indices().create(request, RequestOptions.DEFAULT);
}

在這里插入圖片描述


4.2 感覺(jué)要被刀的第一種方法(RestClient操作文檔)

①添加文檔:

@Test
void testIndexDocument() throws IOException {// 1.創(chuàng)建request對(duì)象 
    IndexRequest request = new IndexRequest("indexName").id("1");//id可以使用mapper查出來(lái)的對(duì)象id替換
    // 2.準(zhǔn)備JSON文檔
    request.source("{\"name\": \"Jack\", \"age\": 21}", XContentType.JSON);//數(shù)據(jù)可用mybatis查出來(lái)的數(shù)據(jù),再用FastJson轉(zhuǎn)對(duì)象為json
    // 3.發(fā)送請(qǐng)求
    client.index(request, RequestOptions.DEFAULT);
}

②根據(jù)id查詢文檔:

@Test
void testGetDocumentById() throws IOException {// 1.創(chuàng)建request對(duì)象
    GetRequest request = new GetRequest("indexName", "1");
    // 2.發(fā)送請(qǐng)求,得到結(jié)果
    GetResponse response = client.get(request, RequestOptions.DEFAULT);
    // 3.解析結(jié)果 
    String json = response.getSourceAsString();

    System.out.println(json);
}

③改、刪(注意符號(hào)):

在這里插入圖片描述在這里插入圖片描述


④批量新增文檔(使用 MybatisPlus 查詢數(shù)據(jù)后導(dǎo)入到 ES ):
在這里插入圖片描述


三、未完待續(xù)~ 總結(jié)

提示:這里對(duì)文章進(jìn)行總結(jié):
例如:以上就是今天要講的內(nèi)容,本文僅僅簡(jiǎn)單介紹了pandas的使用,而pandas提供了大量能使我們快速便捷地處理數(shù)據(jù)的函數(shù)和方法。

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧


網(wǎng)站名稱:SpringCloud(五):ElasticSearch搜索引擎-創(chuàng)新互聯(lián)
網(wǎng)頁(yè)鏈接:http://weahome.cn/article/ggohd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部