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

Elasticsearch 實(shí)戰(zhàn)之三:ES 基本操作

這篇具有很好參考價(jià)值的文章主要介紹了Elasticsearch 實(shí)戰(zhàn)之三:ES 基本操作。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

目錄

0. 數(shù)據(jù)格式說(shuō)明

1. ES的基本操作

1.1?索引操作

1.1.1?建立索引

1.1.2? 刪除索引

1.1.3??查詢索引

1.2 映射操作

1.2.1 建立映射

1.2.2 查詢映射

1.3 基本操作-CRUD

1.3.1 新增和替換文檔

1.3.2 查詢文檔


0. 數(shù)據(jù)格式說(shuō)明

在實(shí)戰(zhàn)開(kāi)始之前,為了便于書(shū)寫(xiě)和溝通,本文先來(lái)約定一下如何在文章中表達(dá)請(qǐng)求和響應(yīng)的信息:

1. 假設(shè)通過(guò)Postman工具或者Kibana向服務(wù)器發(fā)送一個(gè)PUT類型的請(qǐng)求,地址是:http://{IP}:9200/test001/article/1

2. 請(qǐng)求的內(nèi)容是JSON格式的,內(nèi)容如下:

{ 
  "settings": {
    "number_of_shards": 5	//設(shè)置5個(gè)片區(qū)
    , "number_of_replicas": 1	//設(shè)置1個(gè)備份
  }
}

對(duì)于上面的請(qǐng)求,本文中就以如下格式描述:

PUT /user

{ 
  "settings": {
    "number_of_shards": 5	//設(shè)置5個(gè)片區(qū)
    , "number_of_replicas": 1	//設(shè)置1個(gè)備份
  }
}

1. ES的基本操作

1.1?索引操作

1.1.1?建立索引

語(yǔ)法:PUT /索引名

# 發(fā)送請(qǐng)求
# 在沒(méi)有特殊設(shè)置的情況下,默認(rèn)有5個(gè)分片,1個(gè)備份,也可以通過(guò)請(qǐng)求參數(shù)的方式來(lái)指定.。
PUT test_index
{}

# 返回值

#! Deprecation: the default number of shards will change from [5] to [1] in 7.0.0; if you wish to continue using the default of [5] shards, you must manage this on the create index request or with an index template
{
  "acknowledged" : true,
  "shards_acknowledged" : true,
  "index" : "test_index"
}

結(jié)果返回創(chuàng)建成果,同時(shí)kinbana顯示警告,從ES7開(kāi)始默認(rèn)的分片數(shù)將從5修改為1,如果需要繼續(xù)指定分片數(shù),則需要采用index參數(shù)模板傳入?yún)?shù)。

es 基本操作,ElasticSearch,elasticsearch,java,大數(shù)據(jù)

1.1.2? 刪除索引

語(yǔ)法:DELETE /索引名

# 發(fā)送請(qǐng)求
DELETE test_03
{}

# 返回值
{
  "acknowledged" : true
}

?刪除成功:?

es 基本操作,ElasticSearch,elasticsearch,java,大數(shù)據(jù)

1.1.3??查詢索引

語(yǔ)法:GET /索引名

# 發(fā)送請(qǐng)求
GET test_index

# 返回值
{
  "test_index" : {
    "aliases" : { },
    "mappings" : { },
    "settings" : {
      "index" : {
        "creation_date" : "1664806581608",
        "number_of_shards" : "5",
        "number_of_replicas" : "1",
        "uuid" : "qcVTOE2VRpieJi3sZOjZwg",
        "version" : {
          "created" : "6050499"
        },
        "provided_name" : "test_index"
      }
    }
  }
}

查詢結(jié)果中包括了別名(aliases)、映射(mappings)以及配置參數(shù)(mappings)等詳細(xì)信息。

es 基本操作,ElasticSearch,elasticsearch,java,大數(shù)據(jù)

1.2 映射操作

1.2.1 建立映射

語(yǔ)法:POST/索引/映射

# 發(fā)送請(qǐng)求
POST /test_index/student
{ 
  "mappings": { 
  "info": { 
    "properties": { 
      "name": { 
        "type": "text"
        },
        "clazz":{
          "type":"string"
        },
        "id":{
          "type":"double"
        }
      } 
    } 
  } 
}

# 返回值
{
  "_index" : "test_index",
  "_type" : "student",
  "_id" : "bB1InoMBWJmEB7k-HcSI",
  "_version" : 1,
  "result" : "created",
  "_shards" : {
    "total" : 2,
    "successful" : 1,
    "failed" : 0
  },
  "_seq_no" : 0,
  "_primary_term" : 1
}

字段類型 type:double / long / integer / text / keyword / date / binary

注意:text和keyword都是字符串類型,但是只有text類型的數(shù)據(jù)才能分詞,字段的配置一旦確定就不能更改 映射的配置項(xiàng)有很多,我們可以根據(jù)需要只配置用得上的屬性.

創(chuàng)建成果,返回值中除了執(zhí)行結(jié)果(result)之外,還有當(dāng)前映射的詳細(xì)信息。?

es 基本操作,ElasticSearch,elasticsearch,java,大數(shù)據(jù)

1.2.2 查詢映射

語(yǔ)法:GET /索引名/_mapping

# 發(fā)送請(qǐng)求
GET /test_index/_mapping

#返回值
{
  "test_index" : {
    "mappings" : {
      "student" : {
        "properties" : {
          "mappings" : {
            "properties" : {
              "info" : {
                "properties" : {
                  "properties" : {
                    "properties" : {
                      "clazz" : {
                        "properties" : {
                          "type" : {
                            "type" : "text",
                            "fields" : {
                              "keyword" : {
                                "type" : "keyword",
                                "ignore_above" : 256
                              }
                            }
                          }
                        }
                      },
                      "id" : {
                        "properties" : {
                          "type" : {
                            "type" : "text",
                            "fields" : {
                              "keyword" : {
                                "type" : "keyword",
                                "ignore_above" : 256
                              }
                            }
                          }
                        }
                      },
                      "name" : {
                        "properties" : {
                          "type" : {
                            "type" : "text",
                            "fields" : {
                              "keyword" : {
                                "type" : "keyword",
                                "ignore_above" : 256
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}

返回值包括type和field詳細(xì)的JSON信息。

es 基本操作,ElasticSearch,elasticsearch,java,大數(shù)據(jù)

1.3 基本操作-CRUD

1.3.1 新增和替換文檔

語(yǔ)法:PUT /索引名/類型名/文檔ID

# 發(fā)送請(qǐng)求
PUT /test_index/student/1
{
  "id":1,
  "name":"戰(zhàn)三",
  "clazz":12
}

# 返回值
{
  "_index" : "test_index",
  "_type" : "student",
  "_id" : "1",
  "_version" : 1,
  "result" : "created",
  "_shards" : {
    "total" : 2,
    "successful" : 1,
    "failed" : 0
  },
  "_seq_no" : 0,
  "_primary_term" : 1
}

注意:

  • 新增和替換文檔時(shí)需要使用標(biāo)準(zhǔn)的JSON格式,不能使用簡(jiǎn)版的JSON 格式。
  • POST 操作也可以對(duì)文檔進(jìn)行新增和刪除操作。他們的唯一區(qū)別就在于PUT 請(qǐng)求是硬著陸,會(huì)把文檔中的屬性全部強(qiáng)制更新(如:_id、_version等)。POST 請(qǐng)求 和 DEPETE 不會(huì)重置_verison,只會(huì)在其基礎(chǔ)上+1。
  • 一般推薦使用的是PUT 進(jìn)行文檔的更新和替換,POST 用的比較少。POST操作可以不指明文檔的ID,但是我們存在ES中的數(shù)據(jù)一般都是轉(zhuǎn)存過(guò)來(lái)的,不會(huì)自動(dòng)生成,故不推薦使用POST。
  • 當(dāng)索引/類型/映射不存在時(shí),會(huì)使用默認(rèn)設(shè)置自動(dòng)添加。 ES中的數(shù)據(jù)一般是從別的數(shù)據(jù)庫(kù)導(dǎo)入的,所以文檔的ID會(huì)沿用原數(shù)據(jù)庫(kù)中的ID 索引庫(kù)中沒(méi)有該ID對(duì)應(yīng)的文檔時(shí)則新增,擁有該ID對(duì)應(yīng)的文檔時(shí)則替換。

1.3.2 查詢文檔

語(yǔ)法:1. 查詢所有(基本查詢語(yǔ)句):?GET /索引名/類型名/_search

# 發(fā)送請(qǐng)求
GET /test_index/student/_search

# 返回值
{
  "took" : 151,
  "timed_out" : false,
  "_shards" : {
    "total" : 5,
    "successful" : 5,
    "skipped" : 0,
    "failed" : 0
  },
  "hits" : {
    "total" : 2,
    "max_score" : 1.0,
    "hits" : [
      {
        "_index" : "test_index",
        "_type" : "student",
        "_id" : "1",
        "_score" : 1.0,
        "_source" : {
          "id" : 1,
          "name" : "戰(zhàn)三",
          "clazz" : 12
        }
      },
      {
        "_index" : "test_index",
        "_type" : "student",
        "_id" : "bB1InoMBWJmEB7k-HcSI",
        "_score" : 1.0,
        "_source" : {
          "mappings" : {
            "info" : {
              "properties" : {
                "name" : {
                  "type" : "text"
                },
                "clazz" : {
                  "type" : "string"
                },
                "id" : {
                  "type" : "double"
                }
              }
            }
          }
        }
      }
    ]
  }
}

es 基本操作,ElasticSearch,elasticsearch,java,大數(shù)據(jù)

?查詢所有結(jié)果中包含以下字段:

  • took:耗時(shí)
  • _shards.total:分片總數(shù)
  • hits.total:查詢到的數(shù)量
  • hits.max_score:最大匹配度
  • hits.hits:查詢到的結(jié)果
  • hits.hits._score:匹配度

語(yǔ)法:2. 根據(jù)ID查詢:?GET /索引名/類型名/文檔ID

# 發(fā)送請(qǐng)求
GET /test_index/student/1


# 返回值
{
  "_index" : "test_index",
  "_type" : "student",
  "_id" : "1",
  "_version" : 1,
  "found" : true,
  "_source" : {
    "id" : 1,
    "name" : "戰(zhàn)三",
    "clazz" : 12
  }
}

es 基本操作,ElasticSearch,elasticsearch,java,大數(shù)據(jù)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-672908.html

到了這里,關(guān)于Elasticsearch 實(shí)戰(zhàn)之三:ES 基本操作的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • elasticsearch 7.9.3知識(shí)歸納整理(二)之 es基本原理及使用kibana操作es的常見(jiàn)命令

    elasticsearch 7.9.3知識(shí)歸納整理(二)之 es基本原理及使用kibana操作es的常見(jiàn)命令

    一、es的基本原理與基礎(chǔ)概念 1.1 倒排索引 倒排索引 源于實(shí)際應(yīng)用中需要根據(jù)屬性的值來(lái)查找記錄。這種索引表中的每一項(xiàng)都包括一個(gè)屬性值和具有該屬性值的各記錄的地址。由于不是由記錄來(lái)確定屬性值,而是由屬性值來(lái)確定記錄的位置,因而稱為倒排索引(inverted index)。帶

    2024年02月12日
    瀏覽(16)
  • 原生語(yǔ)言操作和spring data中RestHighLevelClient操作Elasticsearch,索引,文檔的基本操作,es的高級(jí)查詢.查詢結(jié)果處理. 數(shù)據(jù)聚合.相關(guān)性系數(shù)打分

    原生語(yǔ)言操作和spring data中RestHighLevelClient操作Elasticsearch,索引,文檔的基本操作,es的高級(jí)查詢.查詢結(jié)果處理. 數(shù)據(jù)聚合.相關(guān)性系數(shù)打分

    ? Elasticsearch 是一個(gè)分布式、高擴(kuò)展、高實(shí)時(shí)的搜索與數(shù)據(jù)分析引擎。它能很方便的使大量數(shù)據(jù)具有搜索、分析和探索的能力。充分利用Elasticsearch的水平伸縮性,能使數(shù)據(jù)在生產(chǎn)環(huán)境變得更有價(jià)值。Elasticsearch 的實(shí)現(xiàn)原理主要分為以下幾個(gè)步驟,首先用戶將數(shù)據(jù)提交到Elasti

    2024年02月05日
    瀏覽(124)
  • 【ES】---ES的基本操作

    ES有4種客戶端,分別是:Jest client、Rest client、Transport client、Node client。 ES支持兩種協(xié)議 HTTP協(xié)議,支持的客戶端有Jest client和Rest client Native Elasticsearch binary協(xié)議,也就是Transport client【7.0棄用】和Node client【2.3棄用】 Jest client非官方支持,在ES5.0之前官方提供的客戶端只有Trans

    2024年02月08日
    瀏覽(21)
  • java 操作es 的基本操作

    創(chuàng)建索引 創(chuàng)建索引別名 索引的相關(guān)設(shè)置 查詢索引數(shù)據(jù) bulk 導(dǎo)入數(shù)據(jù) 持續(xù)更新中~ pom的坐標(biāo)

    2024年01月20日
    瀏覽(19)
  • es基本操作使用

    es映射關(guān)系(對(duì)應(yīng)數(shù)據(jù)庫(kù)) ———————————————— 1.創(chuàng)建索引 創(chuàng)建索引時(shí)指定屬性名,即映射關(guān)系 2.修改索引 3.刪除索引 eg:delete /test/type1/1,表示刪除test索引庫(kù)中類型(表)為type1中id屬性為1的document(記錄)。 4.查詢索引 表示查詢某一個(gè)屬性名為name的值為張

    2024年02月15日
    瀏覽(15)
  • 一些es的基本操作

    一些es的基本操作

    用postMan: 給名為population_portrait_hash_seven的索引增加了一個(gè)text類型的字段。 用chrome插件Elasticvue 的Rest接口,本質(zhì)上應(yīng)該也是發(fā)HTTP請(qǐng)求: 給這個(gè)接口增加了一個(gè)keyword類型的字段。 好像直接刪除是不支持的。要建個(gè)新索引,再使用 Reindex API 將數(shù)據(jù)從舊索引復(fù)制到新索引,排除不

    2024年01月25日
    瀏覽(17)
  • ES基本操作(JavaAPI篇)

    ES基本操作(JavaAPI篇)

    引入jar包依賴 對(duì)于其他的查詢,需要修改 “QueryBuilders.matchAllQuery()” 注意:中文自動(dòng)分詞,可模糊搜索。如:

    2024年02月16日
    瀏覽(43)
  • ES基本操作(postman篇)

    ES基本操作(postman篇)

    關(guān)系型數(shù)據(jù)庫(kù) - Databases(庫(kù)) - Tables(表) - Rows(行) - Columns(列)。 Elasticsearch - Indeces(索引) - Types(類型) - Documents(文檔) - Fields(屬性)。 需要注意的是:type的概念在es7.0之后已經(jīng)刪除了。? 以下僅做剛?cè)腴T學(xué)習(xí)使用,工作中基本不會(huì)使用這個(gè)方式 創(chuàng)建Index 其中shopping是Index的名稱,注

    2024年02月12日
    瀏覽(17)
  • Es的索引操作(代碼中的基本操作)

    // 1.創(chuàng)建客戶端對(duì)象 RestHighLevelClient client = new RestHighLevelClient( RestClient.builder(new HttpHost(\\\"localhost\\\", 9200, \\\"http\\\")) ); (1)創(chuàng)建索引 // 創(chuàng)建索引 - 請(qǐng)求對(duì)象 CreateIndexRequest request = new CreateIndexRequest(\\\"user\\\"); // 發(fā)送請(qǐng)求,獲取響應(yīng) CreateIndexResponse response = client.indices().create(request, RequestOp

    2024年02月13日
    瀏覽(17)
  • ES基本查詢語(yǔ)法_Kibana操作(持續(xù)更新)

    1. ES查詢索引下所有的數(shù)據(jù) 2. ES單字段精確查詢 3. ES多字段精確查詢(默認(rèn)Kibana查詢最多展示10條記錄,可以通過(guò)設(shè)置size來(lái)展示更多匹配到的數(shù)據(jù)) 4. ES數(shù)組字段精確查詢 5. ES日期范圍查詢(大寫(xiě)HH表示24小時(shí)制) 6. 查詢ES索引下的數(shù)據(jù)量 7. 查詢ES索引下的mapping關(guān)系 7. 查詢E

    2024年02月11日
    瀏覽(20)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包