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

ElasticSearch 核心概念以及常用命令

這篇具有很好參考價值的文章主要介紹了ElasticSearch 核心概念以及常用命令。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

核心概念

索引

概念:

這里可以類比與 MySQL 中的表,但是不同于表

在 es 中索引有三層含義

  • 表示源文件數(shù)據(jù):通常說集群中有 user 索引,即表示集群服務中存在 user 這樣一張“表”
  • 表示索引文件:以加速查詢檢索為目的而設計和創(chuàng)建的數(shù)據(jù)文件,通常承載于某些特定的數(shù)據(jù)結構,如哈希、FST 等。例如:通常所說的 正排索引 和 倒排索引(也叫正向索引和反向索引)。就是當前這個表述,索引文件和源數(shù)據(jù)是完全獨立的,索引文件存在的目的僅僅是為了加快數(shù)據(jù)的檢索,不會對源數(shù)據(jù)造成任何影響
  • 表示創(chuàng)建數(shù)據(jù)的動作:通常說創(chuàng)建或添加一條數(shù)據(jù),在 ES 的表述為索引一條數(shù)據(jù)或索引一條文檔,或者 index 一個 doc 進去。此時索引一條文檔的含義為向索引中添加數(shù)據(jù)。

組成:

ElasticSearch 核心概念以及常用命令,elasticsearch,搜索引擎,es

aliases:

索引別名,

es 中索引一旦創(chuàng)建,不允許修改結構,但是可以新建一個索引,然后將原索引數(shù)據(jù)遷移到新索引,再對新索引起別名,間接實現(xiàn)修改索引的目的

mappings:

映射關系,定義了索引中包含哪些字段,以及字段的類型、長度、分詞器等

如下:

home、name、salary 表示字段名,類似與 MySQL 中的表字段

type:表示類型,

其中的常見的比如:

  • text:文本【數(shù)據(jù)保存后會自動對該字段的值進行分詞】
  • keyword:表示不對該字段進行分詞,全值保存,比如姓名
  • long:表示數(shù)字
  • float:小數(shù)
  • ...

analyzer:表示指定的分詞器

{
  "es_db" : {
    "aliases" : { },
    "mappings" : {
      "properties" : {
        "home" : {
          "type" : "text"
        },
        "name" : {
          "type" : "keyword"
        },
        "salary" : {
          "type" : "float"
        },
        "gender": {
          "type": "text",
          "analyzer": "standard"
        } 
      }
    },
    "settings" : {}
  }
}

mappings 中常見的類型如下:

參數(shù)名稱

釋義

analyzer

指定分析器,只有 text 類型字段支持。

copy_to

該參數(shù)允許將多個字段的值復制到組字段中,然后可以將其作為單個字段進行查詢

dynamic

控制是否可以動態(tài)添加新字段,支持以下四個選項:

true:(默認)允許動態(tài)映射

false:忽略新字段。這些字段不會被索引或搜索,但仍會出現(xiàn)在_source返回的命中字段中。這些字段不會添加到映射中,必須顯式添加新字段。

runtime:新字段作為運行時字段添加到索引中,這些字段沒有索引,是_source在查詢時加載的。

strict:如果檢測到新字段,則會拋出異常并拒絕文檔。必須將新字段顯式添加到映射中。

doc_values

為了提升排序和聚合效率,默認true,如果確定不需要對字段進行排序或聚合,也不需要通過腳本訪問字段值,則可以禁用doc值以節(jié)省磁盤空間(不支持 text 和 annotated_text)

eager_global_ordinals

用于聚合的字段上,優(yōu)化聚合性能。

enabled

是否創(chuàng)建倒排索引,可以對字段操作,也可以對索引操作,如果不創(chuàng)建索引,任然可以檢索并在_source元數(shù)據(jù)中展示,謹慎使用,該狀態(tài)無法修改。

fielddata

查詢時內(nèi)存數(shù)據(jù)結構,在首次用當前字段聚合、排序或者在腳本中使用時,需要字段為fielddata數(shù)據(jù)結構,并且創(chuàng)建倒排索引保存到堆中

fields

給 field 創(chuàng)建多字段,用于不同目的(全文檢索或者聚合分析排序)

format

用于格式化代碼,如

"data":{ "type": "data", "format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis" }

index

是否對創(chuàng)建對當前字段創(chuàng)建倒排索引,默認 true,如果不創(chuàng)建索引,該字段不會通過索引被搜索到,但是仍然會在 source 元數(shù)據(jù)中展示。

norms

是否禁用評分(在filter和聚合字段上應該禁用)

null_value

為 null 值設置默認值

search_analyzer

設置單獨的查詢時分析器

settings:

索引設置,常見設置如 分片和副本的數(shù)量等

文檔:Document

文檔是 ES 中的最小數(shù)據(jù)單元。它是一個具有結構化 JSON 格式的記錄。文檔可以被索引并進行搜索、更新和刪除操作。

ElasticSearch 核心概念以及常用命令,elasticsearch,搜索引擎,es

文檔元數(shù)據(jù),所有字段均以下劃線開頭,為系統(tǒng)字段,用于標注文檔的相關信息:

  • _index:文檔所屬的索引名
  • _type:文檔所屬的類型名
  • _id:文檔唯一 id
  • _source: 文檔的原始 Json 數(shù)據(jù)
  • _version: 文檔的版本號,修改刪除操作 _version 都會自增1
  • _seq_no: 和 _version 一樣,一旦數(shù)據(jù)發(fā)生更改,數(shù)據(jù)也一直是累計的。Shard 級別嚴格遞增,保證后寫入的 Doc 的 _seq_no 大于先寫入的 Doc 的 _seq_no。
  • _primary_term: _primary_term 主要是用來恢復數(shù)據(jù)時處理當多個文檔的 _seq_no 一樣時的沖突,避免 Primary Shard 上的寫入被覆蓋。每當 Primary Shard 發(fā)生重新分配時,比如重啟,Primary選舉等,_primary_term 會遞增1。

常用指令

es 中指令都是基于 restful 風格

創(chuàng)建索引

ElasticSearch 核心概念以及常用命令,elasticsearch,搜索引擎,es

#put / + 索引名
PUT /db_1

# 也可以指定一些配置
PUT /db_2
{
  "settings": {
    "number_of_shards": "1",
    "number_of_replicas": "1"
  },
  "mappings": {
    "properties": {
      "name": {
        "type": "keyword"
      },
      "age" : {
          "type" : "long"
      },
      "address" : {
          "type" : "text"
      }
    }
  }
}

查詢索引

ElasticSearch 核心概念以及常用命令,elasticsearch,搜索引擎,es

#查看索引
GET /db_2

刪除索引

ElasticSearch 核心概念以及常用命令,elasticsearch,搜索引擎,es

#刪除索引
DELETE /db_1

索引文檔

ElasticSearch 核心概念以及常用命令,elasticsearch,搜索引擎,es

#索引文檔
PUT /db_2/_doc/1
{
  "name":"張三",
  "age":18,
  "address":"和月努力學編程"
}

查詢文檔

有兩種方式:一種模糊查詢,一種精準查詢

模糊查詢

ElasticSearch 核心概念以及常用命令,elasticsearch,搜索引擎,es

這里補充一個指令,查看文檔字段分詞效果

查看分詞結果

ElasticSearch 核心概念以及常用命令,elasticsearch,搜索引擎,es

#查看分詞結果
#ik_max_word:會將文本做最細粒度的拆分
#analyzer:指定分詞器
POST _analyze
{
    "analyzer":"ik_max_word", 
    "text":"和月努力學習編程"
}

精準查詢

ElasticSearch 核心概念以及常用命令,elasticsearch,搜索引擎,es

#精準查詢
GET /db_2/_search
{
  "query": {
    "term": {
      "name": "張三"
    }
  }
}

更新文檔

全文替換

ElasticSearch 核心概念以及常用命令,elasticsearch,搜索引擎,es

可以看到更新成功,這里表示全文替換,并不是更新其中一個字段

ElasticSearch 核心概念以及常用命令,elasticsearch,搜索引擎,es

#更新文檔 這種方式是全文替換,PUT 和 POST 效果是一樣的
PUT /db_2/_doc/1
{
  "address":"和月努力學編程"
}

GET /db_2/_doc/1

部分更新

可以看到當前 age 是 18

ElasticSearch 核心概念以及常用命令,elasticsearch,搜索引擎,es

執(zhí)行部分更新命令

ElasticSearch 核心概念以及常用命令,elasticsearch,搜索引擎,es

再次查詢,可以看到只有 age 變化了

ElasticSearch 核心概念以及常用命令,elasticsearch,搜索引擎,es

#部分更新
POST /db_2/_update/1
{
  "doc": {
    "age": 16
  }
}

GET /db_2/_doc/1

刪除文檔

ElasticSearch 核心概念以及常用命令,elasticsearch,搜索引擎,es

再次查詢已經(jīng)查不到 id 為 1 的文檔了,刪除成功

ElasticSearch 核心概念以及常用命令,elasticsearch,搜索引擎,es

#刪除文檔
DELETE /db_2/_doc/1

GET /db_2/_doc/1

感謝觀看?。?!本次先介紹這么多,感興趣的小伙伴可以關注留言,持續(xù)更新中文章來源地址http://www.zghlxwxcb.cn/news/detail-838142.html

到了這里,關于ElasticSearch 核心概念以及常用命令的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領支付寶紅包贊助服務器費用

相關文章

  • 【Elasticsearch】幾點核心概念

    【Elasticsearch】幾點核心概念

    索引 一個索引就是一個擁有幾分相似特征的文檔的集合。 Eg:一個客戶數(shù)據(jù)的索引,另一個產(chǎn)品目錄的索引,還有一個訂單數(shù)據(jù)的索引。 能搜索的數(shù)據(jù)必須索引,這樣的好處是可以提高查詢速度 類型 一個類型是你的索引的一個邏輯上的分類/分區(qū),其語義完全由你來定。 ES

    2024年02月02日
    瀏覽(23)
  • 一起學Elasticsearch系列-核心概念

    本文已收錄至Github,推薦閱讀 ?? Java隨想錄 微信公眾號:Java隨想錄 開個新的坑,創(chuàng)作關于Elasticsearch的系列文章 首先,讓我們簡單的了解一下Elasticsearch: Elasticsearch是一個開源的搜索和分析引擎,支持近實時的大數(shù)據(jù)存儲、搜索和分析。它基于Apache Lucene項目,提供全文搜索

    2024年02月01日
    瀏覽(51)
  • ElasticSearch的核心概念簡單描述

    ElasticSearch的核心概念簡單描述

    我正在參加「掘金·啟航計劃」 ES是面向文檔,下面表格是和關系型數(shù)據(jù)庫的對比,一切都是JSON 關系數(shù)據(jù)庫(Mysql) ES 數(shù)據(jù)庫(database) 索引(indices) 和數(shù)據(jù)庫一樣 表(tables) types 慢慢會被棄用 7.0已經(jīng)過時 8.0會徹底廢棄 行(rows) documents (數(shù)據(jù))文檔 字段(columns) fields ES中可以包含多個索引

    2024年02月10日
    瀏覽(23)
  • ElasticSearch 的核心概念和使用場景

    作者:禪與計算機程序設計藝術 ElasticSearch 是一種開源的分布式搜索和分析引擎?;?Lucene 搜索框架,它提供了一個高效、可靠、快速的搜索和數(shù)據(jù)分析解決方案。它具有云計算和超大規(guī)模的搜索功能。ElasticSearch 最初由 Elasticsearch 公司開發(fā)并于 2010 年 9 月份推出首個版本。

    2024年02月08日
    瀏覽(34)
  • elasticsearch高級篇:核心概念和實現(xiàn)原理

    elasticsearch高級篇:核心概念和實現(xiàn)原理

    1.1 索引(index) 一個索引就是一個擁有幾分相似特征的文檔的集合。比如說,你可以有一個客戶數(shù)據(jù)的索引,另一個產(chǎn)品目錄的索引,還有一個訂單數(shù)據(jù)的索引。一個索引由一個名字來標識(必須全部是小寫字母),并且當我們要對這個索引中的文檔進行索引、搜索、更新和刪

    2023年04月08日
    瀏覽(25)
  • 【ES】Elasticsearch核心基礎概念:文檔與索引

    【ES】Elasticsearch核心基礎概念:文檔與索引

    es的核心概念主要是:index(索引)、Document(文檔)、Clusters(集群)、Node(節(jié)點)與實例,下面我們先來了解一下Document與Index。 在講解Document與Index概念之前,我們先來了解一下RESTful APIs,因為下面講解Document和Index的時候會使用到。 當我們把es服務器啟動起來之后,要怎么調(diào)用呢?

    2024年02月05日
    瀏覽(27)
  • Elasticsearch權威指南:深度解析搜索技術核心概念、原理及實踐

    作者:禪與計算機程序設計藝術 2010年,當時僅僅30歲的Elasticsearch創(chuàng)始人黃文堅就率先發(fā)布了開源分布式搜索引擎Elasticsearch。從此, Elasticsearch 名揚天下,成為了當前搜索領域的翹楚。隨著 Elasticsearch 的快速崛起,越來越多的人開始關注并應用 Elasticsearch 來進行搜索服務。

    2024年02月10日
    瀏覽(25)
  • elasticSearch核心概念的介紹(十四):ES集群索引分片管理

    elasticSearch核心概念的介紹(十四):ES集群索引分片管理

    上一章節(jié)我們對ES的集群進行了搭建,有興趣的朋友可以參考一下elasticSearch核心概念的介紹(十三):docker搭建ES集群 這里我們來介紹了ES集群索引的分片管理 ES集群索引分片管理 介紹 分片(shard):因為ES是個分布式的搜索引擎,所以索引通常都會分解成不同部分,而這些

    2023年04月27日
    瀏覽(24)
  • 04_手工畫圖剖析Elasticsearch核心概念:NRT、索引、分片、副本等

    2.elasticsearch的核心概念 (1)Near Realtime (NRT):近實時, 從寫入數(shù)據(jù)到數(shù)據(jù)可以被搜索到有一個小延遲(大概1秒);基于es執(zhí)行搜索和分析可以達到秒級 (2) cluster集群:包括多個節(jié)點, 每個節(jié)點屬于哪個集群是通過一個配置(集群名稱,默認是elasticsearch)來決定的, 對于中小型

    2024年02月09日
    瀏覽(27)
  • 揭秘Elasticsearch:一文讀懂分布式搜索與分析引擎的核心概念

    揭秘Elasticsearch:一文讀懂分布式搜索與分析引擎的核心概念

    ????????Elasticsearch 是一個開源、分布式、實時搜索和分析引擎,專門用于處理大規(guī)模數(shù)據(jù)的快速檢索與分析。它建立在 Apache Lucene 的基礎上,但提供了比 Lucene 更為豐富的功能和友好的RESTful API 接口,使得開發(fā)者能夠輕松地進行全文搜索、結構化搜索以及對海量數(shù)據(jù)進行

    2024年02月19日
    瀏覽(27)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領取紅包

二維碼2

領紅包