ES 基本概念及操作


數據分類

  1. 結構化數據
  2. 非結構化數據
  3. 半結構化數據

Elastic Stack 的核心

ElasticSearch 安裝

es 的光放地址: https://www.elastic.co/cn/
下載版本: 7.8.0

啟動文件

注意: 9300端口為ES 集群間組件的通信端口,9200端口為瀏覽器訪問的http協議Restful端口

問題解決

打不開?
ElasticSearch 是使用java開發的,且7.8版本的ES 需要JDK 版本1.8以上,默認安裝包帶有jdk環境,如果系統配置JAVA_HOME,name使用
默認的JDK,如果沒有配置使用自帶的JDK,一般建議使用系統配置的JDK

雙擊啟動窗口閃退?
通過路徑追蹤錯誤,如果是"空間不足",請修改
config/jvm.options配置文件

# 設置JVM 初始內存為1G,此值可以設置與-Xmx相同,以避免每次垃圾回收完成后JVM重新分配內存

# 設置JVM最大可用內存為1G

-Xmslg
-Xmxlg

ES 數據格式

Elasticsearch 是面向文檔型數據庫,一條數據在這里就是一個文檔

ES 里的Index 可以看做是一個庫,而Types相當於表,Documents則相當於表的行
這里Types的概念已經被逐漸弱化,ES6.x中,一個index下已經只能包含一個type,Es7.x中,Type的概念已經被刪除了

倒排索引

通過關鍵字鎖定主鍵索引,從而到處該數據

正排(正向)索引

musql中通過主鍵,鎖定對應數據

ES索引操作

創建索引 PUT

對比關系型數據庫,創建索引就等同於創建數據庫
Postman中向ES 服務器發送PUT請求:http:127.0.0.1:8200/shopping 創建一個shopping的index

獲取某個索引 GET

獲取所有索引 v 表示詳細信息

刪除索引 DELETE

ES 文檔操作

在Postman中 向ES 服務器發送POST請求,http://127.0.0.1:9200/shopping/_doc _doc表示索引中添加文檔

成功后的返回值

_id :數據的隨機唯一標識,類似於主鍵,每次添加都不一樣,當然也可以通過這個標識進行查詢,但是這個_id並不好記,可以自定制

查詢剛剛添加的單條文檔數據

_doc/文檔標識ID

查詢本索引下的所有的文檔數據

_search

修改

完全覆蓋之前的文檔數據

PUT : http://127.0.0.1:9200/shopping/_doc/1001/
需要覆蓋的內容

{"title":"華為手機","price":3999.00,"cateory":"華為"}

局部字段更新

POST http://127.0.0.1:9200/shopping/_doc/1001/

需要更新的字段

{
    "doc":{   // doc表示明確指定更新
        "title":"華為手機",
        "price":399.00
    }
}

ES 條件查詢

指定字段查詢

http://127.0.0.1:9200/shopping/_search?q=title:小米
由於url中攜帶中文容易出現亂碼的情況,所以改成通過請求體來發送查詢參數

http://127.0.0.1:9200/shopping/_search

{
    "query":{  // query 表示本操作為查詢
        "match":{ // match 表示匹配查詢
            "title":"小米"
        }
    }
}

全量查詢 + 分頁


{
    "query":{  // query 表示本操作為查詢
        "match_all":{ // match_all表示全量查詢,配合分頁查詢
        }
    },
    "from" : 0,  // 表示第一頁的起始位置 第二頁為(頁碼-1)*每頁數據條數 (2-1) * 10
    "size" : 10, // 每一頁多少條數據
    "_source" : ["title"],  // 只顯示title字段
    "sort" : {
          "price":{    // 指定字段進行排序
              "order":"desc"  // 降序排列
            }
        }

}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM