Elasticsearch簡稱ES。git
是一個全文搜索服務器,也可做爲NoSQL數據庫,存儲任意格式的文檔和數據,也可作大數據的分析,是一個跨界開源產品。數據庫
ES的特色:json
全文搜索引擎瀏覽器
文檔存儲和查詢服務器
大數據分析網絡
提供了REST API,用來簡化對ES的操做app
經常配合傳統數據庫一塊兒使用,ES用來負責大數據的查詢、搜索、統計分析curl
1.下載elasticsearch
elasticsearch-6.8.3.zip https://www.elastic.co/downloads/past-releases#elasticsearchpost
2.啓動
解壓 elasticsearch-6.8.3.zip
打開cmd,進入elasticsearch的bin
elasticsearch
9200端口是對外的RESTFul接口,9300端口是ES內部使用的端口
啓動後在瀏覽器 http://localhost:9200/
說明:
name表明這臺ES的名字
cluster_name默認名字是elasticsearch。ES的集羣方式是經過廣播在同一個網絡中尋找cluster_name同樣的ES
若是想修改配置,能夠在config/elasticsearch.yml配置
3.基本概念
Index:是Document的集合,Index包含了Type,至關於數據庫
Type:用來進一步組織Document,一個Index能夠有多個Type,至關於表
Document:文檔,是ES可以存儲和搜索的基本信息,Document屬於Type,至關於行數據,json格式的
Node:節點,是集羣裏的一臺ES Server,用於Document的存儲和查詢
Shards:分區,Index超過了單個節點存儲的限制,就會將Index進行分區
Replicas:複製分區,將Index分爲多個分區,Index的分區爲主分區,複製的分區爲複製分區
4.基本使用
(1)添加文檔
curl -XPOST 'localhost:9200/store/category/1?pretty' -H 'Content-type:application/json' -d'{"name":"soap","type":"cleaning","postDate":"2019-9-15","message":"this is a first data"}'
(2)根據主鍵查詢
curl -XGET 'localhost:9200/store/category/1?pretty'
(3)根據主鍵更新
curl -XPUT 'localhost:9200/store/category/1?pretty' -H 'Content-type:application/json' -d'{"name":"soap123","type":"cleaning","postDate":"2019-9-15T23:10:10","message":"update data"}'
只更新message
curl -XPOST 'localhost:9200/store/category/1?pretty' -H 'Content-type:applicat ion/json' -d'{"doc":{"message":"only update message"}}'
(4)根據主鍵刪除
curl -XDELETE 'localhost:9200/store/category/1?pretty'
(5)搜索
curl -XPOST 'localhost:9200/store/category/_search?pretty'
全文搜索
curl -XPOST 'localhost:9200/store/category/_search?pretty' -H 'Content-type:application/json' -d'{"query":{"match":{"message":"data"}}}'
精確搜索
curl -XPOST 'localhost:9200/store/category/_search?pretty' -H 'Content-type:application/json' -d'{"query":{"term":{"type":"cleaning"}}}'
查詢總數
將_count替換_search
curl -XPOST 'localhost:9200/store/category/_count?pretty' -H 'Content-type:application/json' -d'{"query":{"match":{"message":"data"}}}'
聯合查詢
curl -XPOST 'localhost:9200/store/category/_search?pretty' -H 'Content-type:application/json' -d'{"query":{"bool":{"must":[{"term":{"type":"eating"}},{"match":{"message":"second"}}]}}}'
翻頁,使用from和size
curl -XPOST 'localhost:9200/store/category/_search?pretty' -H 'Content-type:application/json' -d'{"from":1,"size":1,"query":{"match":{"message":"data"}}}'
說明:
安裝了git就會帶有curl功能了