【ELK】【ElasticSearch】3.es入門基本操做

docker安裝elasticSearch步驟html

==================================================================docker

本篇參考:數據庫

http://www.javashuo.com/article/p-ftyektsc-z.htmljson

http://nullpointer.pw/%E5%92%8C%E6%88%91%E4%B8%80%E8%B5%B7%E6%89%93%E9%80%A0%E4%B8%AA%E7%AE%80%E5%8D%95%E6%90%9C%E7%B4%A2%E4%B9%8BElasticSearch%E5%85%A5%E9%97%A8.htmlapp

==================================================================編碼

1.基礎概念

Index 索引---DB數據庫url

Type 類型---數據表spa

Document 文檔---表中一條記錄code

Field 字段---記錄中的每一個列屬性orm

Shard 分片---對索引進行分片,分佈於集羣各個節點上,下降單個節點的壓力

Replica 備份---拷貝分片就完成了備份

 

2.基本語法

接口均符合Rest風格

API基本格式:

http://<IP>:<PORT>/<Index>/<Type>/<Document的ID>

經常使用HTTP請求方法:

GET/PUT/POST/DELETE

 

 

3.對於Index索引的介紹和使用

 

3.1索引類型

  結構化索引:mappings指定了的。可經過PostMan直接調用接口建立,也能夠經過kibana的Dev Tools調用接口建立。【文章下面講】

  非結構化索引:mappings未指定的,是空的{},能夠經過elasticSearch-head建立【參考:http://www.javashuo.com/article/p-sufcuceq-bb.html

  

 3.2操做索引

  3.2.1 建立名爲people的索引[Index],其中指定mappings,包含一個名爲man的類型[Type]

  url地址:

http://192.168.92.130:9200/people

  請求方式:

PUT

  請求體格式:

raw   
JSON(application/json)

  請求體:

{
    "settings":{
        "number_of_shards":3,
        "number_of_replicas":1
    },
    "mappings":{
        "man":{
            "properties":{
                "name":{
                    "type":"text"
                },
                "country":{
                    "type":"keyword"
                },
                "age":{
                    "type":"integer"
                },
                "date":{
                    "type":"date",
                    "format":"yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"
                }
            }
        }
    }
}

 

  

  注意:

    1》請求方式必須是PUT,不然會報錯:

    "error": "Incorrect HTTP method for uri [/people] and method [POST], allowed: [PUT, GET, HEAD, DELETE]"

    

    2》關於請求體的解讀:

         

    3》關於text和keyword數據類型的區別

      keyword數據類型和text數據類型都是字符串類型

      keyword數據類型不會被分詞,可用以存儲 姓名、郵箱地址、郵政編碼等這類型的文本內容,能夠用來檢索過濾、排序、聚合。keyword字段只能用自身來進行檢索!

      text數據類型會被分詞。text數據類型用來索引長文本,在創建索引以前即根據配置的分詞器進行分詞,搜索是也會根據配置的分詞器進行搜索,沒配置則使用默認分詞器。text類型不會進行排序和聚合。

    4》其餘數據類型查看

      http://www.javashuo.com/article/p-duoitlny-bd.html

 

 4.經過Rest接口操做數據

  4.1插入數據

    4.1.1指定文檔id插入數據

PUT http://ip:port/index/type/id

    

    

    4.1.2不指定文檔id,則自動產生文檔id插入數據

POST  http://ip:port/index/type

    

 

  4.2修改數據

POST  http://ip:port/index/type/id/_update

     

  4.3刪除數據

  

  4.4刪除索引  

 

5.經過Rest接口查詢數據

  5.1根據ID查詢

GET  http://ip:port/index/type/id

    

 

  5.2指定條件查詢,分頁,排序

POST  http://ip:port/index/_search

    注意請求體

    

    

  5.3分組查詢

    

    

  5.4 聚合計算

    

    

相關文章
相關標籤/搜索