1. 程式人生 > >搜尋引擎elasticsearch(二)--http介面資料操作

搜尋引擎elasticsearch(二)--http介面資料操作

一、簡介

這裡將介紹,通過http請求,對es進行索引和資料操作。es中使用的是REST api方式,即通知http的方法不同來執行

不同的操作。

操作主要有兩塊,一是對索引本身的操作;二是對索引資料的操作。都包含了增刪改查操作。

二、操作

這裡直接上程式碼,解釋請參考註釋。

#!/usr/bin/env bash
host="127.0.0.1"
port=9200
index="stu"
type="doc"
#################### 索引元資料操作 ###############################
#檢視所有索引
curl -s -XGET "${host}:${port}/_cat/indices"
#建立索引 curl -s -XPUT "${host}:${port}/${index}" -d ' { "settings" : { "number_of_shards" : 1, "number_of_replicas" : 2 }, "mappings":{ "doc" : { "properties" : { "id" : { "type" : "long" },
"stuId" : { "type" : "string", "index": "not_analyzed" }, "stuName" : { "type" : "string", "index": "not_analyzed" } } } } } ' #檢視指定索引所有元資料 curl -s -XGET "
${host}:${port}/${index}?pretty" ##檢視索引mapping(類似於表字段設定) curl -s -XGET "${host}:${port}/${index}/_mapping?pretty" # #檢視settings curl -s -XGET "${host}:${port}/${index}/_settings?pretty" #刪除索引 curl -s -XDELETE "${host}:${port}/${index}" ################################################################# ########################## 索引資料操作 ######################### #檢視指定索引資料 curl -s -XGET "${host}:${port}/${index}/_search?pretty" ##檢視指定索引資料,並指定查詢起點及個數 curl -s -XGET "${host}:${port}/${index}/_search?pretty&from=0&size=200" ##直接在url地址後新增查詢引數 curl -s -XGET "${host}:${port}/${index}/_search?pretty&q=stuName:apple7" #根據指定索引指定id檢視資料 doc_id="21" curl -s -XGET "${host}:${port}/${index}/${type}/${doc_id}?pretty" #根據指定json條件查詢(方式一),query_json_file為json格式的查詢條件,內容如下一項查詢條件類似 query_json_file="stu_query.json" curl -H 'content-type:application/json' -s -XGET "${host}:${port}/${index}/_search?pretty" -d @${query_json_file} #根據指定json條件查詢(方式二),直接指定 curl -H 'content-type:application/json' -s -XGET "${host}:${port}/${index}/_search?pretty" -d ' { "query":{ "match":{ "stuName":"apple21" } } } ' #新增或更新資料(方式一,json檔案,內容如下一項類似) doc_id="21" stu_obj_file="/home/china/shell_space/my_study/stu_obj.json" curl -H 'content-type:application/json' -s -XPUT "${host}:${port}/${index}/${type}/${doc_id}" -d @${stu_obj_file} #新增或更新資料(方式二,直接指定json) curl -H 'content-type:application/json' -s -XPUT "${host}:${port}/${index}/${type}/${doc_id}" -d ' { "id" : 21, "stuId" : "021", "stuName" : "apple21" } ' #更新資料 doc_id="21" curl -s -XPOST "${host}:${port}/${index}/${type}/${doc_id}/_update" -d ' { "doc":{ "stuName":"applwwe" } } ' #刪除資料 doc_id="21" curl -s -XDELETE "${host}:${port}/${index}/${type}/${doc_id}" #######################################################################