ELK之ES使用


1、_cluster接口命令

heakth: 集群健康狀況:

image


state: 查看集群節點:

image


stats: 統計數據; 部分截圖

image


查看單個節點狀況:

[root@node1 ~]# curl -X GET 'http://node1:9200/_nodes/stats?pretty'


2、Plugins(插件)

插件擴展ES的功能:
       添加自定義的映射類型、自定義分析器、本地腳本、自定義發現方式;


安裝:
      方式1:直接將插件放置於plugins目錄中即可;
      方式2:使用plugin腳本進行安裝;


安裝marvel、bigdesk、head、kopf

# plugin命令,查看幫助
[root@node1 ~]# /usr/share/elasticsearch/bin/plugin -h

# 插件可以在線安裝,也可以下載后安裝

#marvel   在線安裝
http://download.elasticsearch.org/elasticsearch/marvel/marvel-latest.zip #包地址
[root@node1 ~]# /usr/share/elasticsearch/bin/plugin -install elasticsearch/marvel/latest

#bigdesk  在線安裝
https://github.com/lukas-vlcek/bigdesk/archive/master.zip  #包地址
[root@node1 ~]# /usr/share/elasticsearch/bin/plugin -install lukas-vlcek/bigdesk

#head  下載后安裝,這里下載后改了安裝包的名字 https://github.com/mobz/elasticsearch-head/archive/master.zip  #包地址
[root@node1 ~]# /usr/share/elasticsearch/bin/plugin -i head -u file:///root/elasticsearch-head-master.zip

#kopf  下載后安裝,這里下載后改了安裝包的名字 https://github.com/lmenezes/elasticsearch-kopf/archive/v1.6.2.zip #包地址
[root@node1 ~]# /usr/share/elasticsearch/bin/plugin -i kopf -u file:///root/elasticsearch-kopf.zip


#列出已安裝的插件
[root@node1 ~]# /usr/share/elasticsearch/bin/plugin -l
Installed plugins:
    - marvel
    - bigdesk
    - head
    - kopf

#卸載插件
[root@node1 ~]# /usr/share/elasticsearch/bin/plugin –r 插件名


以上幾個插件都是站點插件:

可以通過瀏覽器來查看:http://HOST:9200/_plugin/插件名


marvel 一個通過json查詢的工具,可惜是收費項目,非開源

http://192.168.3.111:9200/_plugin/marvel

image


bigdesk 統計分析和圖表化elasticsearch集群狀態信息

http://192.168.3.111:9200/_plugin/bigdesk

image


head 通過web界面來查看elasticsearch集群狀態信息

http://192.168.3.111:9200/_plugin/head/

image


kopf 通過web界面來管理和監控elasticsearch集群狀態信息

http://192.168.3.111:9200/_plugin/kopf

image


3、CRUD操作相關的API

插入文檔,PUT存在時會替換:

[root@node1 ~]# curl -XPUT 'localhost:9200/students/class1/1?pretty' -d '
{
  "first_name": "Jing",
  "last_name": "Guo",
  "gender": "Male",
  "age": 25,
  "courses": "Xianglong Shiba Zhang"
}'


[root@node1 ~]# curl -XPUT 'localhost:9200/students/class1/2?pretty' -d '
{
  "first_name": "Rong",
  "last_name": "Huang",
  "gender": "Female",
  "age": 23,
  "courses": "Luoying Shenjian"
}'

image

index:索引名

class1:類型

1和2:id


查看文檔:

image


更新文檔

把id為2的age改為2:

image


刪除文檔

image


刪除索引

image

最后還是要把刪除的數據創建出來,下面還要用;


4、查詢數據

query API

      Query DSL:JSON based language for building complex queries.
       用戶實現諸多類型的查詢操作,比如,simple term query,phrase,range boolean,fuzzy等;


E5的查詢操作執行分為兩個階段:
       分散階段:
       合並階段:


(1)查詢方式:
    向ES發起查詢請求的方式有兩種:
       1、通過Restful request API查詢,也稱為query string;

             curl -XGET 'localhost:9200/students/_search?pretty'
       2、通過發送REST request body進行,可以進行更復雜查詢;

             [root@node1 ~]# curl -XGET 'localhost:9200/students/_search?pretty' -d '
              {
              "query": {"match_all": {}}
              }'


(2)多索引、多類型查詢:

    /_search:所有素引;     curl -XGET 'localhost:9200/_search?pretty'
     /INDEX_NAME/_search:單索引;    curl -XGET 'localhost:9200/students/_search?pretty'
     /INDEX1,INDEX2/_search:多索引; 
     /s*,t*/_search:通配符;


     /students/class1/_search:單類型搜索;  curl -XGET 'localhost:9200/students/class1/_search/?pretty'
     /students/class1,class2/_search:多類型搜素;


(3)Mapping和Analysis:

    ES:對每一個文檔,會取得其所有域的所有值,生成一個名為“_all”的域:執行查詢時,如果在query_string未指定查詢的域,則在_all域上執行查詢操作:

# 在curl命令行中,用%20代指空格
GET  /_search?q='Xianglong'
GET  /_search?q='Xianglong%20Shiba%20Zhang'
GET  /_search?q=courses:'Xianglong%20Shiba%20Zhang'
GET  /_search?q=courses:'Xianglong'
前兩個:表示在_all域搜索;
后兩個:在指定的域上搜索;

image


數據類型:string,numbers,boolean,dates


查看指定類型的mapping示例:

image


ES中搜索的數據廣義上可被理解為兩類:
     types:exact (精確值)

    full-text


    精確值:指未經加工的原始值:在搜素時進行精確匹配;
     full-text:用於引用文本中效據:判斷文檔在多大程序上匹配查詢請求:即評估文檔與用戶請求查詢的相關度;


    為了完成full-text搜索,ES必須首先分析文本,並創建出倒排索引; 倒排索引中的數據還需進行“正規化”為標准格式;

   分詞、正規化:即分析
    


     分析需要由分析器進行:analyzer

        分析器由三個組件構成:字符過濾器、分詞器、分詞過濾器

        ES內置的分析器:
              Standard analyzer
              Simple analyzer
              Whitespace analyzer
              Language analyzer

        分析器不僅在創建素引時用到:在構建查詢時也會用到;


免責聲明!

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



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