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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Elasticsearch 100问(上)

發布時間:2025/3/19 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Elasticsearch 100问(上) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、基本概念

1、ElasticSearch是什么:

Elasticsearch是一個分布式的,開源的NoSQL數據庫。通常做為文檔搜索數據庫。

2、什么是索引(indices)

indices分為兩種情況,一指索引,另一個是指往索引里插入數據的動作。索引可理解為類似于關系型數據庫表的概念,而不是網絡上大部分理解的數據庫的概念。索引就是一張分布在不同服務器之上的大表。

3、什么是分片(shards)

一個或多個分片組成一個索引(indices)。理解為關系型數據庫里的水平分表。

4、什么是分段(segment)

一個或多個分段組成一個分片。

5、什么是副本

ES將數據副本分為主從兩部分,即主分片(primary shard)和副分片(replica shard)。

6、什么是分詞器,分詞

分詞是指把一段話或一篇文章通過語義拆分成最小的單詞。分詞器是分詞使用的軟件。

7、什么是倒排索引

倒排索引就像傳統圖書館找書所用到的卡片,需要先按順序找出書名對應的卡片,上面標注書名,然后標注書所在的書架編號,然后通過書架編號才能找到我們需要的書。倒排索引中保存的是分詞跟文檔對應的ID。

8、什么是主節點

主節點的職責是和集群操作相關的內容,如創建或刪除索引,跟蹤哪些節點是群集的一部分并決定哪些分片分配給相關的節點。

9、什么是數據節點

數據節點是存儲索引數據的節點,主要對索引進行增刪改查操作。

10、什么是協調節點

當主節點和數據節點配置都設置為false的時候,該節點只能處理路由請求,處理搜索,分發索引操作。

11、什么是ES集群腦裂

腦裂是指一個集群選舉產生了兩個主節點,設置discovery.zen.minimum_master_nodes: (n/2)+1,n為有資格成為主節點的節點數(node.master=true)就可避免。

12、什么是ES的冷熱架構

Hot-Warm Architecture。熱節點存放用戶最關心的熱數據,搜索速度快;冷節點存放用戶關心優先級低的冷數據,搜索速度慢,冷節點的磁盤與內存比可以比較大,就是同樣的cpu,內存配置,冷節點可以存儲更多的數據。

13、ES模板的作用是什么

當新建一個 ES 索引時,會自動匹配模板,完成索引的基礎部分搭建。很多人ES用了很長的時間,還不知道有模板存在。

14、ES MAPPING作用是什么

映射(mapping)是定義一個文檔以及其所包含的字段如何被存儲和索引的方法。像關系型數據庫的建表語句,ES中會默認創建。

15、keyword與text的區別是什么

ES 5.*之后,把string字段設置為了過時字段,引入text,keyword字段,這兩個字段都可以存儲字符串使用,但建立索引和搜索的時候是不太一樣的

keyword:存儲數據時候,不會分詞建立索引

text:存儲數據時候,會自動分詞,并生成索引(這是很智能的,但在有些字段里面是沒用的,所以對于有些字段使用text則浪費了空間)。

string默認會建立 keyword跟text兩個字段,可以在mapping中設置只保存其中的一個。

16、index.merge.scheduler.max_thread_count參數該怎么設置

數據節點磁盤為sata硬盤的時候,該參數設置為1,磁盤為ssd的時候,可以不用設置,使用默認值。

二、ES模塊

17、Cluster模塊作用是什么?

Cluster模塊是主節點執行集群管理的封裝實現,管理集群狀態,維護集群層面的配置信息。

18、allocation模塊作用是什么?

allocation封裝了分片分配相關的功能和策略。

19、Discovery模塊作用是什么?

Discovery發現模塊負責發現集群中的節點,以及選舉主節點。

20、gateway模塊作用是什么?

gateway負責對收到Master廣播下來的集群元數據的持久化存儲。

21、Indices模塊作用是什么?

Indices索引模塊管理全局級的索引設置。

22、HTTP模塊作用是什么?

HTTP模塊允許通過JSONoverHTTP的方式訪問ES的API,HTTP模塊本質上是完全異步的,這意味著沒有阻塞線程等待響應,使用到Netty框架。

23、Transport模塊作用是什么?

Transport傳輸模塊用于集群內節點之間的內部通信。

24、Engine模塊作用是什么?

Engine模塊封裝了對Lucene的操作及translog的調用,它是對一個分片讀寫操作的最終提供者。

三、ES 常用API

25、health API的作用是什么?

GET _cluster/health顯示ES的健康狀態,RED,YELLOW,GREEN, RED表示集群有主副本和副副本同時沒有分配的情況,YELLOW表示存在副本沒有分配,GREEN表示集群正常。

26、怎么創建索引

PUT 索引名

27、怎么關閉索引

POST 索引名/_close,或者在KIBANA界面manager-index Management中選中索引,關閉。

28、怎么打開索引

POST 索引名/_open,或者在KIBANA界面manager-index Management中選中索引,打開。

29、怎么刪除索引

DELETE 索引名,或者在KIBANA界面manager-index Management中選中索引,刪除。

30、檢查索引名是否存在

HEAD 索引名

31、?help——幫助選項。

將在列表中提供 API 可用的字段,其中包含短名稱和長名稱、說明等。

GET _cat/indices?help

32、?h =-“ h”

使用上方“幫助”顯示中的短名稱或長名稱指定要包括在結果中的字段。這些用逗號分隔,沒有空格。

GET _cat/indices?h=docs.count,store.size

這樣返回結果沒有表頭

33、?v——‘v’

在回復的頂部包括字段名稱。

GET _cat/indices?v&h=docs.count,store.size

34、?s——‘s’

用于排序,使用列出的字段作為排序鍵。

如下所示:我們可能會看到節點列表。包括:返回字段名稱,字段名稱要顯示并按名稱name排序:GET /_cat/nodes?v&h=heap.percent,diskUsedPercent,cpu,master,name&s=name

35、統計所有這些logstash *前綴索引的文檔總數的方法。

GET /_cat/count/logstash*?v

36、通配符索引列表獲取

包含:大小,文檔計數,狀態等。

GET /_cat/indices/logstash*?v

37、找到size 最大的索引

GET /_cat/indices/logstash-*?v&h=index,ss&s=ss:desc

38、查看未分配的分片及原因

GET _cat/shards?v&h=index,shard,prirep,state,unassigned.reason&s=state

39、列舉已定義的所有模板

GET /_cat/templates?v&s=order,name

40、分片分配查看

GET /_cat/allocation?v

41、運行任務查看

GET /_cat/pending_tasks?v

42、清理緩存

POST /_cache/clear

總結

以上是生活随笔為你收集整理的Elasticsearch 100问(上)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。