實際開發中,主要由三種方式可以作為elasticsearch服務的客戶端:
1.elasticsearch-head插件;
2.使用elasticsearch提供的Restful接口直接訪問;
3.使用elasticsearch提供的API進行訪問;
使用Postman工具進行Restful接口訪問(下載地址:https://www.postman.com/)
1.elasticsearch的接口語法
curl ‐X<VERB> '<PROTOCOL>://<HOST>:<PORT>/<PATH>?<QUERY_STRING>' ‐d '<BODY>'
解釋:
VERB:適當的HTTP方法或謂詞,(GET,POST,PUT,DELETE);
PROTOCOL:HTTP或者HTTPS(如果你在elasticsearch前面有一個HTTPS代理);
HOST:elasticsearch集群中任意節點的主機名,或者用localhost代表本機機器上的節點;
PORT:運行elasticsearch http服務的端口號,默認為9200;
PATH:API的終端路徑;
QUERY_STRING:任意可選的查詢字符串參數;
BODY:一個JSON格式的請求體;
2.創建索引index和映射mapping(添加)
2.1 在postman地址欄中輸入如下地址:(添加的HTTP方法是PUT)
http://localhost:9200/wn_2
2.2 請求體
{
"mappings":{
"type_table1":{
"properties": {
"id":{
"type":"long",
"store":true,
"index":"not_analyzed"
},
"title":{
"type":"text",
"store":true,
"index":"analyzed",
"analyzer":"standard"
},
"content":{
"type":"text",
"store":true,
"index":"analyzed",
"analyzer":"standard"
}
}
}
}
}

2.3 點擊Send按鈕,查看頁面執行結果

點擊【信息】下的【索引信息】,查看elasticsearch-head:

3.創建索引后設置mapping(修改)
3.1 先創建一個索引,不指定mapping信息

3.2 請求的url(修改請求的方式是POST)
http://localhost:9200/wn_1/type_table2/_mapping
3.3 請求體
{
"type_table2": {
"properties": {
"id":{
"type":"long",
"store":true,
"index":"not_analyzed"
},
"title":{
"type":"text",
"store":true,
"index":"analyzed",
"analyzer":"standard"
},
"content":{
"type":"text",
"store":true,
"index":"analyzed",
"analyzer":"standard"
}
}
}
}
3.4 點擊Send后執行的結果


4.刪除索引index
4.1 請求的url (刪除的請求方式是delete)
http://localhost:9200/wn_2
4.2 實現效果


5.創建文檔document
5.1 請求的url (請求方式post)
http://localhost:9200/wn_1/type_table2/1
5.2 請求體
{
"id":1,
"title":"ElasticSearch是一個基於Lucene的搜索服務器",
"content":"它提供了一個分布式多用戶能力的全文搜索引擎,基於RESTful web接口。Elasticsearch是用Java 開發的,並作為Apache許可條款下的開放源碼發布,是當前流行的企業級搜索引擎。設計用於雲計算中,能夠達到實時 搜索,穩定,可靠,快速,安裝使用方便。"
}
5.3 點擊Send后,查看實現效果


6.修改文檔document
6.1 請求的url·(請求的方式是POST)
http://localhost:9200/wn_1/type_table2/1
6.2 請求體
{
"id":1,
"title":"【修改】ElasticSearch是一個基於Lucene的搜索服務器",
"content":"【修改】它提供了一個分布式多用戶能力的全文搜索引擎,基於RESTful web接口。Elasticsearch 是用Java開發的,並作為Apache許可條款下的開放源碼發布,是當前流行的企業級搜索引擎。設計用於雲計算中,能夠 達到實時搜索,穩定,可靠,快速,安裝使用方便。"
}
6.3 點擊Send后,實現效果

7.刪除文檔document
7.1 請求的url (請求的方式是delete)
http://localhost:9200/wn_1/type_table2/1
7.2 點擊Send后,實現效果

8.查詢文檔-根據id查詢
8.1 創建文檔(兩條數據)

8.2 請求的url (請求方式是GET)
http://localhost:9200/wn_1/type_table2/1
8.3 點擊Send后,查詢出的結果

9.查詢文檔-querystring查詢
9.1 請求的url (請求的方式為POST)
http://localhost:9200/wn_1/type_table2/_search
9.2 請求體
{
"query": {
"query_string": {
"default_field": "title",
"query": "搜索服務器"
}
}
}
9.3 點擊Send后,效果實現

9.4 注意:將搜索內容"搜索服務器"修改為"修改",同樣也能搜索到文檔

10.查詢文檔-term查詢
10.1 請求的url (請求的方式為POST)
http://localhost:9200/wn_1/type_table2/_search
10.2 請求體
{
"query": {
"term": {
"title": "搜索"
}
}
}
10.3 點擊Send,效果實現

因為這里使用的是標椎分詞器,所以查出的數據是空的,下面我可以測試一下標椎分詞器的效果:(GET請求方式)
http://localhost:9200/_analyze?analyzer=standard&pretty=true&text=我是程序員
效果實現:


