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

歡迎訪問 默认站点!

默认站点

當前位置: 首頁 >

聊一聊Elasticsearch和MySQL的常用操作

發(fā)布時間:2023/12/4 27 豆豆
默认站点 收集整理的這篇文章主要介紹了 聊一聊Elasticsearch和MySQL的常用操作 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

前言

ElasticSearch,開源的搜索和數(shù)據(jù)分析引擎,也是名列前茅的 nosql。

很多時候會想拿它和關(guān)系型數(shù)據(jù)庫做對比,嚴格上它們是沒有太多可比性的。

不過把有的東西放在一起比較,會幫助我們快速去理解一些 ElasticSearch 的內(nèi)容。

老黃這邊抽空梳理了一些常用的 sql 語句 “對應” ElasticSearch 的操作,主要是針對 CURD 的。

示例用的是 mysql 和 ElasticSearch 7.12.0 。

表操作

為了簡單起見,弄一個簡單的訂單表 order-2021 來演示。

刪除表

創(chuàng)建表

NOTE:

  • mysql 的索引需要一個一個的加,ES 這邊不需要。

  • mysql 有自增 Id, ES 這邊也會有自動生成 Id 的操作,同樣的,兩邊也可以自定義 Id。

  • keyword 和 text 按需調(diào)整。

  • 改表名

    NOTE: ES 的是起一個別名,然后兩個名字都可以用。

    插入數(shù)據(jù)

    單條插入

    批量插入

    NOTE:

  • ES 的批量操作需要注意,每一行最后要有換行符 \n 結(jié)尾

  • Content-Type 指定為 application/x-ndjson

  • 更新數(shù)據(jù)

    根據(jù)ID更新

    根據(jù)查詢條件更新

    NOTE: ES 的條件更新分為兩部分,一個是 query ,也就是 where 部分, 一個是 script ,也就是 set 部分。

    刪除數(shù)據(jù)

    根據(jù)Id刪除

    根據(jù)查詢條件刪除

    查詢數(shù)據(jù)

    查詢?nèi)?/h3>

    條件查詢

    NOTE:

  • ES 的條件查詢是有非常多的, 這里只列舉了部分。

  • ES 的查詢,在默認情況下會有打分的操作,是會損耗性能的,而常規(guī)的 sql 查詢時不需要這些,所以用 bool + filter 來忽略。

  • 查詢指定字段

    NOTE: 查詢的時候,如果只要幾個字段,那么可以通過 _source 來指定。

    查詢數(shù)量

    NOTE: 根據(jù)指定條件獲取數(shù)量,建議用 _count 來查詢,_search 查詢的結(jié)果里面的條數(shù)不一定準確。

    淺分頁

    NOTE: 淺分頁,頁碼不宜過深,適合滾動加載的場景,深度分頁可以考慮 SearchAfter

    Group By

    NOTE: group by 屬于聚合操作的一種,要用 aggs ,聚合,不用原數(shù)據(jù),所以 size 設為 0。

    Avg/Min/Max/Sum

    寫在最后

    Elasticsearch 這一塊常用的 CURD 操作,和常用的關(guān)系型數(shù)據(jù)庫對照一遍,其實很容易上手。

    要用到一些 Elasticsearch 特有的功能時,去查詢官方文檔也基本可以搞定。

    總結(jié)

    以上是默认站点為你收集整理的聊一聊Elasticsearch和MySQL的常用操作的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得默认站点網(wǎng)站內(nèi)容還不錯,歡迎將默认站点推薦給好友。