向es中新增一條數(shù)據(jù)是很常見的操作,可以通過http請求的方式,提交一份json格式的數(shù)據(jù)到es服務器中。
首先要確定數(shù)據(jù)要存儲在哪個索引(index)中,索引可以簡單的理解為數(shù)據(jù)庫中的表,通過索引名稱可以訪問其中的數(shù)據(jù)。
假設我們要往名為“my_index”的索引中插入一條數(shù)據(jù),那么我們的http請求應該如下所示:
POST my_index/_doc { "field1": "value1", "field2": "value2" }
請求的方法為POST,請求的路徑為/my_index/_doc,其中_doc表示插入的是文檔類型的數(shù)據(jù),因為ES還可以存儲其他類型的數(shù)據(jù)。請求體是一份json格式的數(shù)據(jù),里面包含了我們要插入的數(shù)據(jù)內(nèi)容。
其中,field1和field2是我們自己定義的字段名稱,value1和value2是對應的值。
如果請求成功,ES會返回一個json格式的響應,包含了插入的數(shù)據(jù)的元數(shù)據(jù)信息和分配給數(shù)據(jù)的id,如下所示:
{ "_index": "my_index", "_type": "_doc", "_id": "ABC123abc456", "_version": 1, "result": "created", "_shards": { "total": 2, "successful": 1, "failed": 0 }, "_seq_no": 0, "_primary_term": 1 }
插入數(shù)據(jù)完成后,我們就可以在查詢時訪問到這條數(shù)據(jù)了。