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

ElasticSearch篇——Restful風格詳解以及常見的命令,涵蓋_cat命令查看ES默認數(shù)據(jù)、索引和文檔的增刪改查以及復雜搜索,超詳細、超全面、超細節(jié)!

這篇具有很好參考價值的文章主要介紹了ElasticSearch篇——Restful風格詳解以及常見的命令,涵蓋_cat命令查看ES默認數(shù)據(jù)、索引和文檔的增刪改查以及復雜搜索,超詳細、超全面、超細節(jié)!。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

ES的RestFul風格

一種軟件架構風格,而不是標準,只是提供了一組設計原則和約束條件。它主要是用于客戶端和服務器交互類的軟件?;谶@個風格設計的軟件可以更加簡潔,更有層次,更易于實現(xiàn)緩存等機制。

一、基本Rest命令說明elasticsearch rest 多條件查詢,ElasticSearch,elasticsearch,restful,大數(shù)據(jù),全文檢索,搜索引擎

_cat命令查看ES默認數(shù)據(jù)

獲得ES健康值

1、命令

GET _cat/health

elasticsearch rest 多條件查詢,ElasticSearch,elasticsearch,restful,大數(shù)據(jù),全文檢索,搜索引擎

對應的就是head可視化界面的下面的信息(換句話說,可視化工具也是不斷發(fā)送這個health命令,來回顯當前數(shù)據(jù)庫的健康值?。?br>elasticsearch rest 多條件查詢,ElasticSearch,elasticsearch,restful,大數(shù)據(jù),全文檢索,搜索引擎

查看當前ES下的索引信息

1、命令

GET _cat/indices?v

elasticsearch rest 多條件查詢,ElasticSearch,elasticsearch,restful,大數(shù)據(jù),全文檢索,搜索引擎

索引和文檔的增刪改查

創(chuàng)建索引并設置文檔字段類型

1、命令
給索引(數(shù)據(jù)庫表),給表中的字段設置類型

PUT /索引
{
    "mapping": {
        "properties": {
            "name": {
                "type": "text"
            },
            "age": {
                "type": "long"
            },
            "birthday": {
                "type": "date"
            }
        }
    }
}

elasticsearch rest 多條件查詢,ElasticSearch,elasticsearch,restful,大數(shù)據(jù),全文檢索,搜索引擎

2、在head可視化工具中查看

elasticsearch rest 多條件查詢,ElasticSearch,elasticsearch,restful,大數(shù)據(jù),全文檢索,搜索引擎

3、獲得test01的信息
可以通過GET請求,獲得這個索引中的信息
(1)命令

elasticsearch rest 多條件查詢,ElasticSearch,elasticsearch,restful,大數(shù)據(jù),全文檢索,搜索引擎

(2)響應

elasticsearch rest 多條件查詢,ElasticSearch,elasticsearch,restful,大數(shù)據(jù),全文檢索,搜索引擎

4、拓展:如果我們沒有給我們的索引中的字段設置類型,那么ES會默認給相關的字段設置類型!
之前創(chuàng)建guihui 索引的時候沒設置字段的類型,我們通過GET命令查看一下字段的默認類型

elasticsearch rest 多條件查詢,ElasticSearch,elasticsearch,restful,大數(shù)據(jù),全文檢索,搜索引擎

創(chuàng)建索引/文檔

創(chuàng)建一個索引、類型和文檔,以及文檔中的內(nèi)容
(1)在kibana開發(fā)者工具中輸入命令

PUT 索引名/類型(快去掉了)/文檔id
{請求體}

elasticsearch rest 多條件查詢,ElasticSearch,elasticsearch,restful,大數(shù)據(jù),全文檢索,搜索引擎

第一次這個result就是created創(chuàng)建的意思

elasticsearch rest 多條件查詢,ElasticSearch,elasticsearch,restful,大數(shù)據(jù),全文檢索,搜索引擎

(2)進入到head可視化界面中,可以查看當前數(shù)據(jù)是否創(chuàng)建成功!

elasticsearch rest 多條件查詢,ElasticSearch,elasticsearch,restful,大數(shù)據(jù),全文檢索,搜索引擎

修改索引/文檔數(shù)據(jù)

方式一:(這種方式存在弊端,如果第二次更新的內(nèi)容少于原本存在的數(shù)據(jù),那么就會丟失掉那部分數(shù)據(jù)!所以慎用!
直接使用PUT的方式,將原來的數(shù)據(jù)進行覆蓋
1、當前索引中的文檔數(shù)據(jù)
elasticsearch rest 多條件查詢,ElasticSearch,elasticsearch,restful,大數(shù)據(jù),全文檢索,搜索引擎

2、直接通過PUT命令覆蓋
版本號version會增加,現(xiàn)在變成了2;當前的狀態(tài)變成了update

elasticsearch rest 多條件查詢,ElasticSearch,elasticsearch,restful,大數(shù)據(jù),全文檢索,搜索引擎


3、查看guohui索引的數(shù)據(jù)
更新成了李四等新數(shù)據(jù)
elasticsearch rest 多條件查詢,ElasticSearch,elasticsearch,restful,大數(shù)據(jù),全文檢索,搜索引擎

方式二:(更推薦使用這種方式)
通過POST命令來更新索引中的文檔(行數(shù)據(jù))
1、命令
更新命令多了一個"doc"

POST /索引/類型/文檔id/_update
{
    "doc": {
        "name": "詹姆斯",
        "age": 99
    }
}

elasticsearch rest 多條件查詢,ElasticSearch,elasticsearch,restful,大數(shù)據(jù),全文檢索,搜索引擎

刪除索引/者文檔

刪除文檔
1、命令

DELETE 索引/類型/文檔Id

elasticsearch rest 多條件查詢,ElasticSearch,elasticsearch,restful,大數(shù)據(jù),全文檢索,搜索引擎

2、查看head可視化界面

elasticsearch rest 多條件查詢,ElasticSearch,elasticsearch,restful,大數(shù)據(jù),全文檢索,搜索引擎

刪除索引
1、命令

DELETE 索引

elasticsearch rest 多條件查詢,ElasticSearch,elasticsearch,restful,大數(shù)據(jù),全文檢索,搜索引擎

2、去可視化界面查看
guihui索引(數(shù)據(jù)庫)被刪除了!

elasticsearch rest 多條件查詢,ElasticSearch,elasticsearch,restful,大數(shù)據(jù),全文檢索,搜索引擎

查詢索引數(shù)據(jù)/某條文檔(含條件查詢)

索引test01數(shù)據(jù)
elasticsearch rest 多條件查詢,ElasticSearch,elasticsearch,restful,大數(shù)據(jù),全文檢索,搜索引擎

一、查詢索引全部數(shù)據(jù)
1、命令

PUT 索引/類型/_search

elasticsearch rest 多條件查詢,ElasticSearch,elasticsearch,restful,大數(shù)據(jù),全文檢索,搜索引擎

二、查詢文檔通過文檔的id
1、命令

GET 索引/類型/文檔id

elasticsearch rest 多條件查詢,ElasticSearch,elasticsearch,restful,大數(shù)據(jù),全文檢索,搜索引擎

三、條件查詢
1、命令
q代表著query的意思

GET 索引/類型/_search?q=name:李四

elasticsearch rest 多條件查詢,ElasticSearch,elasticsearch,restful,大數(shù)據(jù),全文檢索,搜索引擎

復雜搜索(復雜查詢)重點!

下面所講的復雜查詢由開頭至結尾順序學習,由淺入深

以下的數(shù)據(jù)均來自于查詢該索引

elasticsearch rest 多條件查詢,ElasticSearch,elasticsearch,restful,大數(shù)據(jù),全文檢索,搜索引擎

一、帶參數(shù)的查詢
1.命令

GET test01/_search
{
  "query": {
    "match": {  (match表示精確匹配,這里還可以換成其他的參數(shù))
      "name": "張三"
    }
  }
}

elasticsearch rest 多條件查詢,ElasticSearch,elasticsearch,restful,大數(shù)據(jù),全文檢索,搜索引擎

如果索引中存在某字段相似的,那么查詢出來的結果還會有一個匹配度的數(shù)值,將來可能會按照分值來排序
將來:
hits會對應我們Java中的對象
total:查詢的結果數(shù)

elasticsearch rest 多條件查詢,ElasticSearch,elasticsearch,restful,大數(shù)據(jù),全文檢索,搜索引擎

二、過濾結果
1.命令
_source命令:是過濾搜索結果的關鍵字
相當于MySQL 中的select 字段 from table where 判斷條件
?

GET test01/_search
{
  "query": {
    "match": {
      "name": "王五"
    }
  },
  "_source":["name","age"]
}

elasticsearch rest 多條件查詢,ElasticSearch,elasticsearch,restful,大數(shù)據(jù),全文檢索,搜索引擎

三、根據(jù)某個字段進行排序
類似于MySQL的order by ...desc/asc
1、命令
sort命令,下面的示例是查詢name等于王五的數(shù)據(jù),并且按照age進行升序排序

GET test01/_search
{
  "query": {
    "match": {
      "name": "王五"
    }
  },
  "sort": [
    {
      "age": {
        "order": "asc"
      }
    }
  ]
}

elasticsearch rest 多條件查詢,ElasticSearch,elasticsearch,restful,大數(shù)據(jù),全文檢索,搜索引擎

四、分頁查詢
相當于SQL中的Limit
1、命令
from 和 size 命令,下面的實例是從第0個數(shù)據(jù)開始(和我們之前學習的分頁的數(shù)據(jù)結果是一樣的,起始都是從0開始),一頁展示1條數(shù)據(jù),所以和上面的搜索出的兩條數(shù)據(jù)是不同的,現(xiàn)在是只展示了一條數(shù)據(jù)

GET test01/_search
{
  "query": {
    "match": {
      "name": "王五"
    }
  },
  "sort": [
    {
      "age": {
        "order": "asc"
      }
    }
  ],
  "from":0,
  "size":1
}

elasticsearch rest 多條件查詢,ElasticSearch,elasticsearch,restful,大數(shù)據(jù),全文檢索,搜索引擎

五、布爾實現(xiàn)多條件的精確查詢
must可以精確的匹配對應的數(shù)據(jù),相當于SQL中的“and”,所有的條件都滿足
1、命令

GET test01/_search
{
  "query": {
    "bool": {
      "must": [
        {
          "match": {
            "name": "王五"
          }
        },
        {
          "match": {
            "age": "11"
          }
        }
      ]
    }
  }
}

elasticsearch rest 多條件查詢,ElasticSearch,elasticsearch,restful,大數(shù)據(jù),全文檢索,搜索引擎

六、布爾實現(xiàn)or類型查詢
should關鍵字,相當于SQL 中的“or”,后面的條件滿足其一即可被查詢出來
1、命令

GET test01/_search
{
  "query": {
    "bool": {
      "should": [
        {
          "match": {
            "name": "王五"
          }
        },
        {
          "match": {
            "age": "11"
          }
        }
      ]
    }
  }
}

elasticsearch rest 多條件查詢,ElasticSearch,elasticsearch,restful,大數(shù)據(jù),全文檢索,搜索引擎

七、布爾值查詢-類似于SQL中的“not”
1、命令
must_not
下面的實例是查詢年齡不是11歲的人

GET test01/_search
{
  "query": {
    "bool": {
      "must_not": [
        {
          "match": {
            "age": "11"
          }
        }
      ]
    }
  }
}

elasticsearch rest 多條件查詢,ElasticSearch,elasticsearch,restful,大數(shù)據(jù),全文檢索,搜索引擎

八、在查詢的時候,加過濾器
filter關鍵字,就是在查詢的時候加上范圍的過濾
gte: great than equals表示大于等于
lte: less than equals表示小于等于
去掉e就把等于去掉了

1、命令

GET test01/_search
{
  "query": {
    "bool": {
      "must": [
        {
          "match": {
            "name": "王五"
          }
        }
      ],
       "filter": {
        "range": {
          "age": {
            "gt": 10,
            "lt": 20
          }
        }
      }
    }
  }
}

elasticsearch rest 多條件查詢,ElasticSearch,elasticsearch,restful,大數(shù)據(jù),全文檢索,搜索引擎

九、根據(jù)字段中的某個數(shù)據(jù)進行查詢
可以精確的匹配到某條數(shù)據(jù)中包含某個數(shù)據(jù),并且還能返回查詢的結果的分值
1、命令
通過"match"關鍵字,里面輸入索引中字段的名稱和需要匹配的數(shù)據(jù),ES的優(yōu)勢在于,想要匹配多個數(shù)據(jù),直接用空格隔開即可,另外查詢的結果還會對這些數(shù)據(jù)進行分值的評定,將來還便于我們根據(jù)分值來做排序

elasticsearch rest 多條件查詢,ElasticSearch,elasticsearch,restful,大數(shù)據(jù),全文檢索,搜索引擎

十、精確查詢
精確查詢是通過term關鍵字來實現(xiàn)的,他的底層是通過直接查詢倒排索引,所以效率更高!
關于分詞的解釋:
(1)term:直接查詢精確的
(2)match:會使用分詞器(會先分析文檔,然后通過分析的文檔進行查詢?。?br> 所以綜上所述,term的查詢更高效
補充:
如果類型是text類型,那么是可以被分詞器解析的;如果是keyword類型的,是不能被分詞器解析,換句話說,如果我們索引中的某個字段的類型設置的是keyword類型,那么我想使用match或者term來查詢這個字段匹配的,他只能查詢出完全匹配的數(shù)據(jù)來,其他的數(shù)據(jù)差一個字符都不能被查詢出來!
elasticsearch rest 多條件查詢,ElasticSearch,elasticsearch,restful,大數(shù)據(jù),全文檢索,搜索引擎

十一、高亮查詢(重點)
重點就是highlight關鍵字

elasticsearch rest 多條件查詢,ElasticSearch,elasticsearch,restful,大數(shù)據(jù),全文檢索,搜索引擎

elasticsearch rest 多條件查詢,ElasticSearch,elasticsearch,restful,大數(shù)據(jù),全文檢索,搜索引擎

至此,關于ES詳細的操作查詢命令介紹完畢,尤其是高亮查詢在將來的開發(fā)中會經(jīng)常用到,比如日志定位等等。

后續(xù)還會持續(xù)更新,敬請期待~~~文章來源地址http://www.zghlxwxcb.cn/news/detail-795510.html

到了這里,關于ElasticSearch篇——Restful風格詳解以及常見的命令,涵蓋_cat命令查看ES默認數(shù)據(jù)、索引和文檔的增刪改查以及復雜搜索,超詳細、超全面、超細節(jié)!的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關文章

  • 【SpringMVC】| RESTful架構風格、RESTful案例(CRUD)

    【SpringMVC】| RESTful架構風格、RESTful案例(CRUD)

    目錄 ?? RESTful架構風格 1.?RESTful簡介 2.?RESTful的實現(xiàn) 3.?HiddenHttpMethodFilter RESTful案例(CRUD) 1.?準備工作 2.?功能清單 列表功能(顯示數(shù)據(jù))? 刪除數(shù)據(jù)(難點) 添加數(shù)據(jù)? 更新數(shù)據(jù) 圖書推薦:用ChatGPT與VBA一鍵搞定Excel REST: Re presentational S tate T ransfer, 表現(xiàn)層資源狀態(tài)轉移

    2024年02月08日
    瀏覽(21)
  • RESTful:理解REST架構風格、RESTful API

    一、REST架構風格 REST(英文Representational State Transfer)是一種基于客戶端和服務器的架構風格,用于構建可伸縮、可維護的Web服務。REST的核心思想是,將Web應用程序的功能作為資源來表示,使用統(tǒng)一的標識符(URI)來對這些資源進行操作,并通過HTTP協(xié)議(GET、POST、PUT、DELET

    2024年02月07日
    瀏覽(23)
  • Restful風格

    準備工作 第一步: 創(chuàng)建Maven工程然后手動添加 web模塊 第二步: 在 pom.xml 文件中指定Maven工程的打包方式 war 第三步: 引入依賴,由于Maven的傳遞性,我們不必將所有需要的包全部配置依賴,只需要配置最頂端的依賴,其他依賴靠傳遞性導入 第四步: 在web.xml文件中配置SpringMVC的前端控制

    2024年02月07日
    瀏覽(20)
  • Restful風格筆記

    Restful風格筆記

    @RestController注解 在類上添加@RestController可以默認類中的所有方法都帶有@ResponseBody注解,可以省去一個個添加的麻煩。 路徑變量 @PathVariable注解可以讓控制方法接收前端傳來的請求中的路徑變量。例如下面這個例子,無論前端傳來1還是100這個id都能被控制方法中的requestId這個

    2024年02月10日
    瀏覽(23)
  • restful風格接口命名規(guī)范

    (一)rest 1.概念 REST即表述性狀態(tài)傳遞(英文:Representational State Transfer,簡稱REST)是Roy Fielding博士在2000年他的博士論文中提出來的一種軟件架構風格。它是一種針對網(wǎng)絡應用的設計和開發(fā)方式,可以降低開發(fā)的復雜性,提高系統(tǒng)的可伸縮性。 可理解為: URL定位資源,用H

    2024年02月02日
    瀏覽(17)
  • SpringMVC-Restful風格

    SpringMVC-Restful風格

    rest: 表現(xiàn)層(視圖view及控制層controller)資源狀態(tài)轉移 具體說就是http協(xié)議里面,四個表示操作方式的動詞: GET POST PUT DELETE 它們分別對應四種基本操作: GET 用來表示獲取資源, POST用來新建資源, PUT用來更新資源,DELETE 用來刪除資源. REST風格提倡URL地址使用統(tǒng)一的風格設計,從前到后各

    2024年01月16日
    瀏覽(22)
  • RESTful 風格是指什么

    RESTful( Representational State Transfer )是一種基于 HTTP 協(xié)議的軟件架構風格,用于設計網(wǎng)絡應用程序的接口。它的設計理念是利用 HTTP 協(xié)議中的方法(如 GET、POST、PUT、DELETE 等)來對資源進行 CRUD ,使得客戶端和服務器之間的通信變得簡單、靈活和可擴展。 下面是 RESTful 風格的

    2024年02月21日
    瀏覽(27)
  • 【SpringBoot】| 接口架構風格—RESTful

    【SpringBoot】| 接口架構風格—RESTful

    目錄 ? 一:接口架構風格—RESTful 1.?認識RESTful 2.?RESTful 的注解 1.?認識RESTful (1)接口 ①接口: API(Application Programming Interface,應用程序接口)是一些預先定義的接口(如函數(shù)、HTTP接口),或指軟件系統(tǒng)不同組成部分銜接的約定。 用來提供應用程序與開發(fā)人員基于某軟件

    2024年02月13日
    瀏覽(20)
  • SpringMVC第八階段:Restful風格

    Restful 一種軟件架構風格、設計風格,而不是標準,只是提供了一組設計原則和約束條件。它主要用于客戶端和服務器交互類的軟件?;谶@個風格設計的軟件可以更簡潔,更有層次,更易于實現(xiàn)緩存等機制。 REST(英文:Representational State Transfer,簡稱REST)描述了一個架構樣

    2024年02月08日
    瀏覽(18)
  • 【SpringMVC】RESTful風格CRUD實現(xiàn)

    【SpringMVC】RESTful風格CRUD實現(xiàn)

    目錄 一、REST簡介 1.1 什么是REST? 1.2?REST風格的優(yōu)點 1.3 請求方式 ? 二、構建項目 ?思路分析 2.1 環(huán)境準備 2.1.1?導入相關pom依賴 2.1.2?jdbc.properties:配置文件 2.1.3?配置代碼生成器 generatorConfig.xml 2.1.4?spring與mybatis整合的配置文件 spring-mybatis.xml?? 2.1.5?spring-context.xml 上下文配

    2024年02月09日
    瀏覽(22)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領取紅包

二維碼2

領紅包