ElasticSearch(4)---バルクバルク・オペレーション

ここに画像を挿入説明

前:elasticsearch(3)動作-CURL

1.Bulkフォーマット

{action:{metadata}}\n  //注意 “\n”表示换行符
{requstbody}\n (请求体)
文法 説明
アクション (文書が存在しないときに作成)(行動)、更新(アップデート文書)の作成、格納するインデックス(新しいドキュメントを作成したり、ドキュメントを置き換える)、削除(文書を削除します)。
メタデータ (具体的な動作挙動指標情報)、データ_index、_type、_idを指定する必要があります。

違いとインデックスを作成します。データが存在する場合、それは正常に実行することができますインデックスを使用し、既存の文書を促すメッセージが表示されます、操作が失敗した作成を使用します。

例:

1.一括挿入

ファイル今ありbooks.json、次のように書かれるバッチデータのニーズの、ファイル内のデータは:

{"index":{"_index":"books","_type":"info","_id":"1"}}
{"name":"西游记","author":"吴承恩","price":"40"}
{"index":{"_index":"books","_type":"info","_id":"2"}}
{"name":"三国演义","author":"罗贯中","price":"41"}
{"index":{"_index":"books","_type":"info","_id":"3"}}
{"name":"水浒传","author":"施耐庵","price":"42"}
{"index":{"_index":"books","_type":"info","_id":"4"}}
{"name":"红楼梦","author":"曹雪芹","price":"43"} //注意:此处还需要点下回车键,否则会报错

使用して、Xftpこのファイルをインポートするlinuxには/home/zhangsan/data/、ディレクトリ:
ここに画像を挿入説明
linux、次のコマンドを入力

curl -H 'Content-Type:application/json' -XPOST 'http://120.76.217.14:9200/_bulk?pretty' --data-binary '@/home/zhangsan/data/books.json'

そして、インデックスを照会:

[zhangsan@tomcat-tst data]$ curl -XGET 'http://120.76.217.14:9200/books/info/_search?pretty'
{
  "took" : 813,
  "timed_out" : false,
  "_shards" : {
    "total" : 1,
    "successful" : 1,
    "skipped" : 0,
    "failed" : 0
  },
  "hits" : {
    "total" : {
      "value" : 4,
      "relation" : "eq"
    },
    "max_score" : 1.0,
    "hits" : [
      {
        "_index" : "books",
        "_type" : "info",
        "_id" : "1",
        "_score" : 1.0,
        "_source" : {
          "name" : "西游记",
          "author" : "吴承恩",
          "price" : "40"
        }
      },
      {
        "_index" : "books",
        "_type" : "info",
        "_id" : "2",
        "_score" : 1.0,
        "_source" : {
          "name" : "三国演义",
          "author" : "罗贯中",
          "price" : "41"
        }
      },
      {
        "_index" : "books",
        "_type" : "info",
        "_id" : "3",
        "_score" : 1.0,
        "_source" : {
          "name" : "水浒传",
          "author" : "施耐庵",
          "price" : "42"
        }
      },
      {
        "_index" : "books",
        "_type" : "info",
        "_id" : "4",
        "_score" : 1.0,
        "_source" : {
          "name" : "红楼梦",
          "author" : "曹雪芹",
          "price" : "43"
        }
      }
    ]
  }
}
[zhangsan@tomcat-tst data]$

一括書き込み成功、

2.バッチ処理

{"update":{"_index":"books","_type":"info","_id":"1"}} //更新文档
{"doc":{"name":"人性的弱点","author":"卡耐基"}} //请求体
{"delete":{"_index":"books","_type":"info","_id":"2"}} //删除不需要请求体
{"create":{"_index":"books","_type":"info","_id":"10"}} //当文档不存在的时候创建文档
{"name":"孙子兵法","author":"孙武","price":"42"} //请求体
{"index":{"_index":"books","_type":"info","_id":"3"}} //创建新文档或者替换已用文档
{"name":"厚黑学","author":"李宗吾","price":"50"} //请求体

上記バルクバッチ操作4に実質的にありますaction

3.バッチを処理するデータの量

  一括操作インポートデータがメモリに処理されるので、データ処理量が制限されるため。どのくらいのハードウェア構成、ドキュメントのサイズと複雑さ、インデックス、および検索の負荷に応じて、データ量を扱うことができます。

  一般的な推奨事項は、1000から5000の文書が、提案の大きさは、デフォルトでは100Mを超えることはできません、あなたが(設定elasticsearch.yml下)プロファイルESを設定することができ、5〜15メガバイトです。

4.ユニークで指定します/index/type

  もっと上のバッチ操作の文書のリクエストボディに、我々は同じを持っているには/books/info、私たちができる指定/書籍/情報、あなたはまだメタデータ列_indexと_typeをカバーすることができますが、それはURLを使用しますので、デフォルトとしてメタデータ値:curlURL

POST /books/info
{"index":{"_id":"3"}} //创建新文档或者替换已用文档
{"name":"厚黑学","author":"李宗吾","price":"50"} //请求体

次へ:elasticsearch(5)プラグ-head
公開された101元の記事 ウォン称賛50 ビュー10000 +

おすすめ

転載: blog.csdn.net/qq_43655835/article/details/104657838