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

elasticsearch[一]-索引庫操作(輕松創(chuàng)建)、文檔增刪改查、批量寫入(效率倍增)

這篇具有很好參考價值的文章主要介紹了elasticsearch[一]-索引庫操作(輕松創(chuàng)建)、文檔增刪改查、批量寫入(效率倍增)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

elasticsearch[一]-索引庫操作(輕松創(chuàng)建)、文檔增刪改查、批量寫入(效率倍增)

1、初始化 RestClient

在 elasticsearch 提供的 API 中,與 elasticsearch 一切交互都封裝在一個名為 RestHighLevelClient 的類中,必須先完成這個對象的初始化,建立與 elasticsearch 的連接。

分為三步:

1)引入 es 的 RestHighLevelClient 依賴:

<dependency>
    <groupId>org.elasticsearch.client</groupId>
    <artifactId>elasticsearch-rest-high-level-client</artifactId>
</dependency>


2)因為 SpringBoot 默認的 ES 版本是 7.6.2,所以我們需要覆蓋默認的 ES 版本:

<properties>
    <java.version>1.8</java.version>
    <elasticsearch.version>7.12.1</elasticsearch.version>
</properties>


3)初始化 RestHighLevelClient:

初始化的代碼如下:

RestHighLevelClient client = new RestHighLevelClient(RestClient.builder(
        HttpHost.create("http://xxx.xxx.xxx.xxx:9200")
));


這里為了單元測試方便,我們創(chuàng)建一個測試類 HotelIndexTest,然后將初始化的代碼編寫在 @BeforeEach 方法中:

package cn.itcast.hotel;

import org.apache.http.HttpHost;
import org.elasticsearch.client.RestHighLevelClient;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;

import java.io.IOException;

public class HotelIndexTest {
    private RestHighLevelClient client;

    @BeforeEach
    void setUp() {
        this.client = new RestHighLevelClient(RestClient.builder(
                HttpHost.create("http://xxx.xxx.xxx.xxx:9200")
        ));
    }

    @AfterEach
    void tearDown() throws IOException {
        this.client.close();
    }
}


1.1、創(chuàng)建索引庫

創(chuàng)建索引庫的 API 如下:
elasticsearch[一]-索引庫操作(輕松創(chuàng)建)、文檔增刪改查、批量寫入(效率倍增),Elastic search,elasticsearch,索引庫創(chuàng)建,搜索推薦,全文檢索,ES
代碼分為三步:

  • 1)創(chuàng)建 Request 對象。因為是創(chuàng)建索引庫的操作,因此 Request 是 CreateIndexRequest。
  • 2)添加請求參數(shù),其實就是 DSL 的 JSON 參數(shù)部分。因為 json 字符串很長,這里是定義了靜態(tài)字符串常量 MAPPING_TEMPLATE,讓代碼看起來更加優(yōu)雅。
  • 3)發(fā)送請求,client.indices() 方法的返回值是 IndicesClient 類型,封裝了所有與索引庫操作有關(guān)的方法。

完整示例

在 hotel-demo 的 cn.itcast.hotel.constants 包下,創(chuàng)建一個類,定義 mapping 映射的 JSON 字符串常量:

package cn.itcast.hotel.constants;

public class HotelConstants {
    public static final String MAPPING_TEMPLATE = "{\n" +
            "  \"mappings\": {\n" +
            "    \"properties\": {\n" +
            "      \"id\": {\n" +
            "        \"type\": \"keyword\"\n" +
            "      },\n" +
            "      \"name\":{\n" +
            "        \"type\": \"text\",\n" +
            "        \"analyzer\": \"ik_max_word\",\n" +
            "        \"copy_to\": \"all\"\n" +
            "      },\n" +
            "      \"address\":{\n" +
            "        \"type\": \"keyword\",\n" +
            "        \"index\": false\n" +
            "      },\n" +
            "      \"price\":{\n" +
            "        \"type\": \"integer\"\n" +
            "      },\n" +
            "      \"score\":{\n" +
            "        \"type\": \"integer\"\n" +
            "      },\n" +
            "      \"brand\":{\n" +
            "        \"type\": \"keyword\",\n" +
            "        \"copy_to\": \"all\"\n" +
            "      },\n" +
            "      \"city\":{\n" +
            "        \"type\": \"keyword\",\n" +
            "        \"copy_to\": \"all\"\n" +
            "      },\n" +
            "      \"starName\":{\n" +
            "        \"type\": \"keyword\"\n" +
            "      },\n" +
            "      \"business\":{\n" +
            "        \"type\": \"keyword\"\n" +
            "      },\n" +
            "      \"location\":{\n" +
            "        \"type\": \"geo_point\"\n" +
            "      },\n" +
            "      \"pic\":{\n" +
            "        \"type\": \"keyword\",\n" +
            "        \"index\": false\n" +
            "      },\n" +
            "      \"all\":{\n" +
            "        \"type\": \"text\",\n" +
            "        \"analyzer\": \"ik_max_word\"\n" +
            "      }\n" +
            "    }\n" +
            "  }\n" +
            "}";
}


在 hotel-demo 中的 HotelIndexTest 測試類中,編寫單元測試,實現(xiàn)創(chuàng)建索引:

@Test
void createHotelIndex() throws IOException {
    // 1.創(chuàng)建Request對象
    CreateIndexRequest request = new CreateIndexRequest("hotel");
    // 2.準備請求的參數(shù):DSL語句
    request.source(MAPPING_TEMPLATE, XContentType.JSON);
    // 3.發(fā)送請求
    client.indices().create(request, RequestOptions.DEFAULT);
}


1.2、刪除索引庫

刪除索引庫的 DSL 語句非常簡單:

DELETE /hotel


與創(chuàng)建索引庫相比:

  • 請求方式從 PUT 變?yōu)?DELTE
  • 請求路徑不變
  • 無請求參數(shù)

所以代碼的差異,注意體現(xiàn)在 Request 對象上。依然是三步走:

  • 1)創(chuàng)建 Request 對象。這次是 DeleteIndexRequest 對象
  • 2)準備參數(shù)。這里是無參
  • 3)發(fā)送請求。改用 delete 方法

在 hotel-demo 中的 HotelIndexTest 測試類中,編寫單元測試,實現(xiàn)刪除索引:

@Test
void testDeleteHotelIndex() throws IOException {
    // 1.創(chuàng)建Request對象
    DeleteIndexRequest request = new DeleteIndexRequest("hotel");
    // 2.發(fā)送請求
    client.indices().delete(request, RequestOptions.DEFAULT);
}


1.3、判斷索引庫是否存在

判斷索引庫是否存在,本質(zhì)就是查詢,對應(yīng)的 DSL 是:

GET /hotel


因此與刪除的 Java 代碼流程是類似的。依然是三步走:

  • 1)創(chuàng)建 Request 對象。這次是 GetIndexRequest 對象
  • 2)準備參數(shù)。這里是無參
  • 3)發(fā)送請求。改用 exists 方法
@Test
void testExistsHotelIndex() throws IOException {
    // 1.創(chuàng)建Request對象
    GetIndexRequest request = new GetIndexRequest("hotel");
    // 2.發(fā)送請求
    boolean exists = client.indices().exists(request, RequestOptions.DEFAULT);
    // 3.輸出
    System.err.println(exists ? "索引庫已經(jīng)存在!" : "索引庫不存在!");
}


1.4、總結(jié)

JavaRestClient 操作 elasticsearch 的流程基本類似。核心是 client.indices() 方法來獲取索引庫的操作對象。

索引庫操作的基本步驟:

  • 初始化 RestHighLevelClient
  • 創(chuàng)建 XxxIndexRequest。XXX 是 Create、Get、Delete
  • 準備 DSL( Create 時需要,其它是無參)
  • 發(fā)送請求。調(diào)用 RestHighLevelClient#indices().xxx() 方法,xxx 是 create、exists、delete

2、RestClient 操作文檔

為了與索引庫操作分離,我們再次參加一個測試類,做兩件事情:

  • 初始化 RestHighLevelClient
  • 我們的酒店數(shù)據(jù)在數(shù)據(jù)庫,需要利用 IHotelService 去查詢,所以注入這個接口
package cn.itcast.hotel;

import cn.itcast.hotel.pojo.Hotel;
import cn.itcast.hotel.service.IHotelService;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

import java.io.IOException;
import java.util.List;

@SpringBootTest
public class HotelDocumentTest {
    @Autowired
    private IHotelService hotelService;

    private RestHighLevelClient client;

    @BeforeEach
    void setUp() {
        this.client = new RestHighLevelClient(RestClient.builder(
                HttpHost.create("http://192.168.150.101:9200")
        ));
    }

    @AfterEach
    void tearDown() throws IOException {
        this.client.close();
    }
}



2.1、新增文檔

我們要將數(shù)據(jù)庫的酒店數(shù)據(jù)查詢出來,寫入 elasticsearch 中。

2.1.1、索引庫實體類

數(shù)據(jù)庫查詢后的結(jié)果是一個 Hotel 類型的對象。結(jié)構(gòu)如下:

@Data
@TableName("tb_hotel")
public class Hotel {
    @TableId(type = IdType.INPUT)
    private Long id;
    private String name;
    private String address;
    private Integer price;
    private Integer score;
    private String brand;
    private String city;
    private String starName;
    private String business;
    private String longitude;
    private String latitude;
    private String pic;
}


與我們的索引庫結(jié)構(gòu)存在差異:

  • longitude 和 latitude 需要合并為 location

因此,我們需要定義一個新的類型,與索引庫結(jié)構(gòu)吻合:

package cn.itcast.hotel.pojo;

import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@NoArgsConstructor
public class HotelDoc {
    private Long id;
    private String name;
    private String address;
    private Integer price;
    private Integer score;
    private String brand;
    private String city;
    private String starName;
    private String business;
    private String location;
    private String pic;

    public HotelDoc(Hotel hotel) {
        this.id = hotel.getId();
        this.name = hotel.getName();
        this.address = hotel.getAddress();
        this.price = hotel.getPrice();
        this.score = hotel.getScore();
        this.brand = hotel.getBrand();
        this.city = hotel.getCity();
        this.starName = hotel.getStarName();
        this.business = hotel.getBusiness();
        this.location = hotel.getLatitude() + ", " + hotel.getLongitude();
        this.pic = hotel.getPic();
    }
}



2.1.2. 語法說明

新增文檔的 DSL 語句如下:

POST /{索引庫名}/_doc/1
{
    "name": "Jack",
    "age": 21
}


對應(yīng)的 java 代碼如圖:
elasticsearch[一]-索引庫操作(輕松創(chuàng)建)、文檔增刪改查、批量寫入(效率倍增),Elastic search,elasticsearch,索引庫創(chuàng)建,搜索推薦,全文檢索,ES

可以看到與創(chuàng)建索引庫類似,同樣是三步走:

  • 1)創(chuàng)建 Request 對象
  • 2)準備請求參數(shù),也就是 DSL 中的 JSON 文檔
  • 3)發(fā)送請求

變化的地方在于,這里直接使用 client.xxx() 的 API,不再需要 client.indices() 了。

2.1.3、完整代碼

我們導(dǎo)入酒店數(shù)據(jù),基本流程一致,但是需要考慮幾點變化:

  • 酒店數(shù)據(jù)來自于數(shù)據(jù)庫,我們需要先查詢出來,得到 hotel 對象
  • hotel 對象需要轉(zhuǎn)為 HotelDoc 對象
  • HotelDoc 需要序列化為 json 格式

因此,代碼整體步驟如下:

  • 1)根據(jù) id 查詢酒店數(shù)據(jù) Hotel
  • 2)將 Hotel 封裝為 HotelDoc
  • 3)將 HotelDoc 序列化為 JSON
  • 4)創(chuàng)建 IndexRequest,指定索引庫名和 id
  • 5)準備請求參數(shù),也就是 JSON 文檔
  • 6)發(fā)送請求

在 hotel-demo 的 HotelDocumentTest 測試類中,編寫單元測試:

@Test
void testAddDocument() throws IOException {
    // 1.根據(jù)id查詢酒店數(shù)據(jù)
    Hotel hotel = hotelService.getById(61083L);
    // 2.轉(zhuǎn)換為文檔類型
    HotelDoc hotelDoc = new HotelDoc(hotel);
    // 3.將HotelDoc轉(zhuǎn)json
    String json = JSON.toJSONString(hotelDoc);

    // 1.準備Request對象
    IndexRequest request = new IndexRequest("hotel").id(hotelDoc.getId().toString());
    // 2.準備Json文檔
    request.source(json, XContentType.JSON);
    // 3.發(fā)送請求
    client.index(request, RequestOptions.DEFAULT);
}


2.2、查詢文檔

2.2.1、語法說明

查詢的 DSL 語句如下:

GET /hotel/_doc/{id}


非常簡單,因此代碼大概分兩步:

  • 準備 Request 對象
  • 發(fā)送請求

不過查詢的目的是得到結(jié)果,解析為 HotelDoc,因此難點是結(jié)果的解析。完整代碼如下:
elasticsearch[一]-索引庫操作(輕松創(chuàng)建)、文檔增刪改查、批量寫入(效率倍增),Elastic search,elasticsearch,索引庫創(chuàng)建,搜索推薦,全文檢索,ES

可以看到,結(jié)果是一個 JSON,其中文檔放在一個_source屬性中,因此解析就是拿到_source,反序列化為 Java 對象即可。

與之前類似,也是三步走:

  • 1)準備 Request 對象。這次是查詢,所以是 GetRequest
  • 2)發(fā)送請求,得到結(jié)果。因為是查詢,這里調(diào)用 client.get() 方法
  • 3)解析結(jié)果,就是對 JSON 做反序列化

2.2.2、完整代碼

在 hotel-demo 的 HotelDocumentTest 測試類中,編寫單元測試:

@Test
void testGetDocumentById() throws IOException {
    // 1.準備Request
    GetRequest request = new GetRequest("hotel", "61082");
    // 2.發(fā)送請求,得到響應(yīng)
    GetResponse response = client.get(request, RequestOptions.DEFAULT);
    // 3.解析響應(yīng)結(jié)果
    String json = response.getSourceAsString();

    HotelDoc hotelDoc = JSON.parseObject(json, HotelDoc.class);
    System.out.println(hotelDoc);
}


2.3. 刪除文檔

刪除的 DSL 為是這樣的:

DELETE /hotel/_doc/{id}


與查詢相比,僅僅是請求方式從 DELETE 變成 GET,可以想象 Java 代碼應(yīng)該依然是三步走:

  • 1)準備 Request 對象,因為是刪除,這次是 DeleteRequest 對象。要指定索引庫名和 id
  • 2)準備參數(shù),無參
  • 3)發(fā)送請求。因為是刪除,所以是 client.delete() 方法

在 hotel-demo 的 HotelDocumentTest 測試類中,編寫單元測試:

@Test
void testDeleteDocument() throws IOException {
    // 1.準備Request
    DeleteRequest request = new DeleteRequest("hotel", "61083");
    // 2.發(fā)送請求
    client.delete(request, RequestOptions.DEFAULT);
}


2.4、修改文檔

2.4.1、語法說明

修改我們講過兩種方式:

  • 全量修改:本質(zhì)是先根據(jù) id 刪除,再新增
  • 增量修改:修改文檔中的指定字段值

在 RestClient 的 API 中,全量修改與新增的 API 完全一致,判斷依據(jù)是 ID:

  • 如果新增時,ID 已經(jīng)存在,則修改
  • 如果新增時,ID 不存在,則新增

這里不再贅述,我們主要關(guān)注增量修改。

代碼示例如圖:
elasticsearch[一]-索引庫操作(輕松創(chuàng)建)、文檔增刪改查、批量寫入(效率倍增),Elastic search,elasticsearch,索引庫創(chuàng)建,搜索推薦,全文檢索,ES

與之前類似,也是三步走:

  • 1)準備 Request 對象。這次是修改,所以是 UpdateRequest
  • 2)準備參數(shù)。也就是 JSON 文檔,里面包含要修改的字段
  • 3)更新文檔。這里調(diào)用 client.update() 方法

2.4.2. 完整代碼

在 hotel-demo 的 HotelDocumentTest 測試類中,編寫單元測試:

@Test
void testUpdateDocument() throws IOException {
    // 1.準備Request
    UpdateRequest request = new UpdateRequest("hotel", "61083");
    // 2.準備請求參數(shù)
    request.doc(
        "price", "952",
        "starName", "四鉆"
    );
    // 3.發(fā)送請求
    client.update(request, RequestOptions.DEFAULT);
}


2.5、批量導(dǎo)入文檔

案例需求:利用 BulkRequest 批量將數(shù)據(jù)庫數(shù)據(jù)導(dǎo)入到索引庫中。

步驟如下:

  • 利用 mybatis-plus 查詢酒店數(shù)據(jù)

  • 將查詢到的酒店數(shù)據(jù)(Hotel)轉(zhuǎn)換為文檔類型數(shù)據(jù)(HotelDoc)

  • 利用 JavaRestClient 中的 BulkRequest 批處理,實現(xiàn)批量新增文檔

2.5.1. 語法說明

批量處理 BulkRequest,其本質(zhì)就是將多個普通的 CRUD 請求組合在一起發(fā)送。

其中提供了一個 add 方法,用來添加其他請求:
elasticsearch[一]-索引庫操作(輕松創(chuàng)建)、文檔增刪改查、批量寫入(效率倍增),Elastic search,elasticsearch,索引庫創(chuàng)建,搜索推薦,全文檢索,ES

可以看到,能添加的請求包括:

  • IndexRequest,也就是新增
  • UpdateRequest,也就是修改
  • DeleteRequest,也就是刪除

因此 Bulk 中添加了多個 IndexRequest,就是批量新增功能了。示例:
elasticsearch[一]-索引庫操作(輕松創(chuàng)建)、文檔增刪改查、批量寫入(效率倍增),Elastic search,elasticsearch,索引庫創(chuàng)建,搜索推薦,全文檢索,ES

其實還是三步走:

  • 1)創(chuàng)建 Request 對象。這里是 BulkRequest
  • 2)準備參數(shù)。批處理的參數(shù),就是其它 Request 對象,這里就是多個 IndexRequest
  • 3)發(fā)起請求。這里是批處理,調(diào)用的方法為 client.bulk() 方法

我們在導(dǎo)入酒店數(shù)據(jù)時,將上述代碼改造成 for 循環(huán)處理即可。

2.5.2. 完整代碼

在 hotel-demo 的 HotelDocumentTest 測試類中,編寫單元測試:

    /**
     * 批量導(dǎo)入es
     * @throws IOException
     */
    @Test
    void testBatchImportDocument() throws IOException {
        // 1、批量查詢數(shù)據(jù)庫數(shù)據(jù)
        List<Hotel> list = hotelService.list();
        
        // 2、創(chuàng)建 request 對象
        BulkRequest request = new BulkRequest();
        
        // 3、轉(zhuǎn)換文檔格式
        for (Hotel hotel : list) {
            HotelDoc hotelDoc = new HotelDoc(hotel);
            request.add(new IndexRequest("hotel")
                    .id(hotel.getId().toString())
                    .source(JSON.toJSONString(hotelDoc), XContentType.JSON));
        }

        // 4、發(fā)送請求
        client.bulk(request, RequestOptions.DEFAULT);
    }


2.6. 小結(jié)

文檔操作的基本步驟:

  • 初始化 RestHighLevelClient
  • 創(chuàng)建 XxxRequest。XXX 是 Index、Get、Update、Delete、Bulk
  • 準備參數(shù)(Index、Update、Bulk 時需要)
  • 發(fā)送請求。調(diào)用 RestHighLevelClient#.xxx() 方法,xxx 是 index、get、update、delete、bulk
  • 解析結(jié)果(Get 時需要)

參考鏈接:https://www.cnblogs.com/DeryKong/p/17002492.html文章來源地址http://www.zghlxwxcb.cn/news/detail-793081.html

到了這里,關(guān)于elasticsearch[一]-索引庫操作(輕松創(chuàng)建)、文檔增刪改查、批量寫入(效率倍增)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • elasticSearch創(chuàng)建索引庫、映射、文檔

    elasticSearch創(chuàng)建索引庫、映射、文檔

    創(chuàng)建索引庫 使用postman或curl這樣的工具創(chuàng)建 參數(shù): number_of_shards:設(shè)置分片的數(shù)量,在集群中通常設(shè)置多個分片,表示一個索引庫將拆分成多片分別存儲不同的結(jié)點,提高了ES的處理能力和高可用性,入門程序使用單機環(huán)境,這里設(shè)置為1。 number_of_replicas:設(shè)置副本的數(shù)量,設(shè)

    2024年02月04日
    瀏覽(26)
  • Elasticsearch初識之索引的批量操作

    批量查詢和批量增刪改 批量查詢 批量寫入: 注意: bulk api對json的語法有嚴格的要求,除了delete外,每一個操作都要兩個json串(metadata和business data),且每個json串內(nèi)不能換行,非同一個json串必須換行,否則會報錯; bulk操作中,任意一個操作失敗,是不會影響其他的操作的

    2024年02月02日
    瀏覽(14)
  • Elasticsearch如何創(chuàng)建索引,添加,刪除,更新文檔

    Elasticsearch如何創(chuàng)建索引,添加,刪除,更新文檔

    了解es基本概念:elasticsearch(es)背景故事與基本概念 安裝es:Linux安裝Elasticsearch詳細教程 安裝kibana:Linux安裝Kibana詳細教程 熟悉Json 熟悉REST接口 檢查 es 及 Kibana 是否運行正常 創(chuàng)建一個名為 twitter 的索引(index),并插入一個文檔(document) 在關(guān)系型數(shù)據(jù)庫中,需要使用DDL語

    2023年04月08日
    瀏覽(29)
  • ElasticSearch-索引和文檔的創(chuàng)建修改刪除

    ElasticSearch-索引和文檔的創(chuàng)建修改刪除

    目錄 一、創(chuàng)建索引 二、查看索引 三、索引是否存在 四、刪除索引 五、創(chuàng)建文檔 六、查看文檔 七、更新文檔 八、文檔是否存在 九、刪除文檔 結(jié)果: 語法: GET 索引名稱 ?從這兩個索引信息來看,es_db2是標準分詞器的索引,es_db3是ik分詞器索引。 語法:HEAD 索引名稱 ? ?在

    2024年01月19日
    瀏覽(23)
  • 微服務(wù)學(xué)習(xí)|初識elasticsearch、操作索引庫、文檔操作、RestClient操作索引庫、RestClient操作文檔

    微服務(wù)學(xué)習(xí)|初識elasticsearch、操作索引庫、文檔操作、RestClient操作索引庫、RestClient操作文檔

    elasticsearch是一款非常強大的開源搜索引擎,可以幫助我們從海量數(shù)據(jù)中快速找到需要的內(nèi)容。 elasticsearch結(jié)合kibana、Logstash、Beats,也就是elastic stack (ELK)。被廣泛應(yīng)用在日志數(shù)據(jù)分析、實時監(jiān)控等領(lǐng)域 elasticsearch是elastic stack的核心,負責存儲、搜索、分析數(shù)據(jù) Lucene是一個jav

    2024年01月18日
    瀏覽(64)
  • Elasticsearch的索引庫和文檔操作、RestClient的索引庫和文檔操作

    Elasticsearch的索引庫和文檔操作、RestClient的索引庫和文檔操作

    Linux系統(tǒng)通過Docker安裝Elasticsearch、部署kibana Elasticsearch 是位于 Elastic Stack 核心的分布式搜索和分析引擎。Logstash 和 Beats 有助于收集、聚合和豐富您的數(shù)據(jù)并將其存儲在 Elasticsearch 中。Kibana 使您能夠以交互方式探索、可視化和分享對數(shù)據(jù)的見解,并管理和監(jiān)控堆棧。 簡單的說

    2024年02月04日
    瀏覽(13)
  • Elasticsearch學(xué)習(xí)--索引的批量操作mget、bulk

    Elasticsearch學(xué)習(xí)--索引的批量操作mget、bulk

    1. 基本用法 查詢id是1、2的數(shù)據(jù) 2. 提取index ?3. ids的用法 4.?指定source create:不存在則創(chuàng)建,存在則報錯 delete:刪除文檔 update:全量替換或部分更新 index:索引(動詞) 1. 自動生成id ? 2. 刪除操作是懶刪除 并沒有真正的刪除,只是標記為刪除? 3. index(可以是創(chuàng)建,也可以

    2024年02月10日
    瀏覽(25)
  • Elasticsearch 索引庫與文檔操作

    2023年04月19日
    瀏覽(23)
  • ElasticSearch索引庫、文檔、RestClient操作

    ElasticSearch索引庫、文檔、RestClient操作

    es中的索引是指相同類型的文檔集合 ,即mysql中表的概念 映射:索引中文檔字段的約束,比如名稱、類型 mapping映射是對索引庫中文檔的約束。類似mysql對表單字段的約束 type :字段數(shù)據(jù)類型,常見的類型有: 字符串:text(可分詞的文本)、keyword(不可分詞的文本,例如國家

    2024年02月10日
    瀏覽(24)
  • kibana創(chuàng)建索引、文檔基本操作

    kibana創(chuàng)建索引、文檔基本操作

    眾所周知,es和數(shù)據(jù)庫的操作十分相似,只是在一些稱呼上有所不同,如圖 因此,想要在es上存儲文檔,就得先 創(chuàng)建索引 (好比想要在數(shù)據(jù)庫存儲數(shù)據(jù),就得先創(chuàng)建表,才能在表里插入數(shù)據(jù))。這次筆者主要是通過kibana進行es相應(yīng)操作,所以給出kibana對應(yīng)的索引、文檔操作。

    2023年04月23日
    瀏覽(25)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包