ElasticSearch7.6學習日記之ElasticSearch入門:索引一些文件

索引一些文件

集羣啓動並運行後,就可以爲某些數據建立索引了。Elasticsearch有多種攝取方式,但最終它們都做同樣的事情:將JSON文檔放入Elasticsearch索引中。

您可以通過一個簡單的PUT請求直接執行此操作,該請求指定要添加文檔的索引,唯一的文檔ID以及"field": "value"請求正文中的一對或多對:

PUT /customer/_doc/1
{
  "name": "John Doe"
}

如果該請求customer尚不存在,該請求將自動創建該索引,添加ID爲的新文檔1,並存儲該name字段併爲其建立索引。

由於這是一個新文檔,因此響應顯示該操作的結果是創建了該文檔的版本爲1:

{
  "_index" : "customer",
  "_type" : "_doc",
  "_id" : "1",
  "_version" : 1,
  "result" : "created",
  "_shards" : {
    "total" : 2,
    "successful" : 2,
    "failed" : 0
  },
  "_seq_no" : 26,
  "_primary_term" : 4
}

可以從羣集中的任何節點立即使用新文檔。您可以使用指定其文檔ID的GET請求檢索它:

GET /customer/_doc/1

該響應表明找到了具有指定ID的文檔,並顯示了已索引的原始源字段。

{
  "_index" : "customer",
  "_type" : "_doc",
  "_id" : "1",
  "_version" : 1,
  "_seq_no" : 26,
  "_primary_term" : 4,
  "found" : true,
  "_source" : {
    "name": "John Doe"
  }
}

批量索引文件

如果您有很多要索引的文檔,則可以使用批量API批量提交。使用批量處理批處理文檔操作比單獨提交請求要快得多,因爲它可以最大程度地減少網絡往返次數。

最佳批處理大小取決於許多因素:文檔大小和複雜性,索引編制和搜索負載以及羣集可用的資源。一個好的起點是批處理1,000至5,000個文檔,總有效負載在5MB至15MB之間。從那裏,您可以嘗試找到最佳位置。

要將一些數據導入Elasticsearch,您可以開始搜索和分析:

  1. 下載accounts.json樣本數據集。此隨機生成的數據集中的文檔代表具有以下信息的用戶帳戶:
    {
        "account_number": 0,
        "balance": 16623,
        "firstname": "Bradshaw",
        "lastname": "Mckenzie",
        "age": 29,
        "gender": "F",
        "address": "244 Columbus Place",
        "employer": "Euron",
        "email": "[email protected]",
        "city": "Hobucken",
        "state": "CO"
    }

     

  2. 使用以下_bulk請求將帳戶數據索引到bank中:

    curl -H "Content-Type: application/json" -XPOST "localhost:9200/bank/_bulk?pretty&refresh" --data-binary "@accounts.json"
    curl "localhost:9200/_cat/indices?v"

     

  3. 響應表明成功索引了1,000個文檔。

    health status index uuid                   pri rep docs.count docs.deleted store.size pri.store.size
    yellow open   bank  l7sSYV2cQXmu6_4rJWVIww   5   1       1000            0    128.6kb        128.6kb

     

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章