日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Elasticsearch 入门到高手的成长阶梯-索引的基本操作(1)

發(fā)布時間:2025/3/15 编程问答 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Elasticsearch 入门到高手的成长阶梯-索引的基本操作(1) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. 創(chuàng)建索引

Elasticsearch中索引的名稱,必須符合以下要求:

  • 字母只能夠是小寫字母
  • 不能夠包含特殊字符,如\, /, *, ?, ", <, >, |, ` ` , ,, #等
  • 名稱不能夠以英文的中劃線“-”、下劃線“_”以及加號“+”開頭
  • 名稱不可以是“.”或“..”
  • 名稱的長度否以超過255個字節(jié)

?

  • 1?創(chuàng)建全部使用默認參數的索引
  • 索引的創(chuàng)建,需要使用PUT方法,以下是一個最簡單的索引創(chuàng)建語句:

    PUT /new_index

    {}

    這將會創(chuàng)建一個完全使用默認配置為為new_index的索引,索引的主分片數和副本數默認都是1個,這通常是不能夠滿足生產環(huán)境真實的業(yè)務需求,此時就需要在建立索引之前規(guī)劃好需要的主分片數和副本數,然后在建立索引時指定這些參數。

  • 2 創(chuàng)建指定分片和副本的索引
  • 下面建立一個具有5個主分片及每個主分片有一個副本的示例,如下所示:

    PUT /new_index

    {

    ????"settings" : {

    ????????"number_of_shards" : 5,

    ????????"number_of_replicas" : 1

    ????}

    }

    索引的副本,后面可以根據業(yè)務情況,通過API執(zhí)行動態(tài)調整,如下將上面建立的索引的副本數設置為2個:

    PUT /new_index/_settings

    {

    ????"number_of_replicas" : 2

    }

    索引的主分片數,后面是不可以通過設置動態(tài)調整的,只有通過建立新的索引設置新的主分片數,然后重新建立索引的方式達到增加主分片數的方式。因而在建立索引之前,需要根據該庫的業(yè)務使用情況,先規(guī)劃好主分片數,否則后期就只有通過reindex的方式調整主分片數。

  • 3?創(chuàng)建帶有mapping的索引
  • Mapping就是用來指定索引中字段使用的類型,如數字、字符還是日期等,還可以控制字段被索引的方式,如是否需要被分析、使用什么樣的分析器等。

    以下示例索引,包含了三個字段,并通過mapping分別給其指定的不同的字段類型:

    PUT /new_index

    {

    ????"settings" : {

    ????????"number_of_shards" : 2,

    "number_of_replicas" : 2

    ????},

    ????"mappings" : {

    ????????"properties" : {

    ????????????"name" : { "type" : "text" },

    "age" : { "type" : "short" },

    "birth_date" : { "type" : "date" }

    ????????}

    ????}

    }

    ?

    2.刪除索引

    刪除索引使用DELETE方法,可以一次刪除一個索引,如下:

    DELETE /new_index

    也可以通過通配符*匹配一次刪除多個索引

    DELETE /new_index*

    不過使用通配符刪除,增加了方便性,但同時也增加了危險性,在2.3.1這一章節(jié)中,有談到如何控制是否允許在刪除索引的時候使用通配符。

    3.獲取索引的信息

    獲取索引的信息使用GET方法,會返回這個索引本身的別名、mapping以及相關設置等信息,如下:

    GET /new_index

    響應:

    {

    ??"new_index" : {

    ????"aliases" : { },

    ????"mappings" : {

    ??????"properties" : {

    ????????"age" : { "type" : "short" },

    ????????"birth_date" : { "type" : "date" },

    ????????"name" : { "type" : "text" }

    ??????}

    ????},

    ????"settings" : {

    ??????"index" : {

    ????????"creation_date" : "1556753099705",

    ????????"number_of_shards" : "2",

    ????????"number_of_replicas" : "3",

    ????????"uuid" : "Vh2Ne7srT7-gh_dQaWlF8Q",

    ????????"version" : { "created" : "7000099" },

    ????????"provided_name" : "new_index"

    ??????}

    ????}

    ??}

    }

    4.?判斷索引是否存在

    當執(zhí)行文檔索引時,如果目標索引不存在,Elasticsearch會自動創(chuàng)建該索引,通常情況下這是一個好的處理邏輯。但是有時不希望Elasticsearch自動創(chuàng)建不存在的索引,以便于做一些的邏輯上的控制,此時就需要判斷被操作的索引是否存在了,判斷索引是否存在,需要使用HEAD方法,如下:

    HEAD /new_index

    響應:

    200 - OK

    表示索引存在。

    如響應:

    404 - Not Found

    則表示索引不存在。

    5.?開/關索引

    當需要對索引做一些關鍵的設置時,如為索引增加自定義分析器,就需要先關閉索引才可以執(zhí)行。Elasticsearch提供了_open和_close API允許執(zhí)行對索引的開和關的操作,該操作需要使用POST方法。

    5.1 關閉索引

    POST /new_index/_close

    響應

    {

    ??"acknowledged" : true

    }

    表示索引關閉成功。

    ?

    5.2 打開索引

    POST /new_index/_open

    響應

    {

    ??"acknowledged" : true,

    ??"shards_acknowledged" : true

    }

    表示索引打開成功。

    轉載于:https://www.cnblogs.com/fenglibing/p/11013962.html

    總結

    以上是生活随笔為你收集整理的Elasticsearch 入门到高手的成长阶梯-索引的基本操作(1)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。