blog

ElasticSearch ドキュメントに対する基本的な CRUD およびバッチ操作。

文書作成\n1.文書の自動生成_id\nリクエストを\nPOST\n{\n "user": "cb"、\n """: "T",\n "発言...

Feb 22, 2020 · 3 min. read
シェア

前回の記事では、elasticsearchの基本的な概念を紹介し、本日の主な紹介は、elasticsearchドキュメントの基本的な粗雑な操作のために、この記事学習ノート

create

1、自動的に_idを生成するドキュメントを作成します。

POST ajtest/_doc
{
 "user":"cb",
 "create_time":"2020-08-02T14:12:12",
 "remark":"elastic test"
}

結果を返します:

{
 "_index" : "ajtest",
 "_type" : "_doc",
 "_id" : "Gvw7rXMB-sPOHQAyK08l",
 "_version" : 1,
 "result" : "created",
 "_shards" : {
 "total" : 2,
 "successful" : 1,
 "failed" : 0
 },
 "_seq_no" : 0,
 "_primary_term" : 1
}

PUT index_name/_create/_idPUT index_name/_doc/_id?op_type=create2、_createを使用するか、または作成する場合、URIは、指定された_createを示し、この時点で、_idのドキュメントが既に存在する場合、操作は失敗します。

#create document. IDを指定する IDが既に存在する場合はエラーとなる。
PUT ajtest/_doc/1?op_type=create
{
 "user":"aj",
 "create_time":"2020-08-02T14:12:12",
 "remark":"elasticsearch test"
}
#create document. IDを指定する IDが既に存在する場合はエラーとなる。
PUT ajtest/_create/1
{
 "user":"ajcb",
 "create_time":"2020-08-02T14:12:12",
 "remark":"elasticsearch test"
}

Get

ajtest/_doc/1 を取得します。

リターン結果

{
 "_index" : "ajtest",
 "_type" : "_doc",
 "_id" : "1",
 "_version" : 2,
 "_seq_no" : 2,
 "_primary_term" : 1,
 "found" : true,
 "_source" : {
 "user" : "ajcb",
 "create_time" : "2020-08-02T14:12:12",
 "remark" : "elasticsearch test"
 }
}

Index

インデックスとドキュメントの作成は異なり、ドキュメントが存在しない場合は新しいドキュメントが作成され、そうでない場合は既存のドキュメントが削除され、新しいドキュメントがインデックスされ、バージョン情報が+1されます。

### Index & Update
#Update IDを指定する
PUT ajtest/_doc/1
{
 "user":"cb"
}

update

更新ドキュメントは削除されず、データテーブルのみが更新されます。

POST ajtest/_update/1
{
 "doc":{
 "user":"jj",
 "age":30
 }
}

Delete

文書 ID に基づいて文書を削除 DELETE ajtest/_doc/1

Bulk API

  • 単一のAPIコールで異なるインデックスを操作できるようになりました。

  • 以下の4種類のオペレーションに対応しています。

    • Index
    • create
    • update
    • delete
  • インデックスはuriかリクエストのペイロードで指定できます。

  • 一つのオペレーションが失敗しても、他のオペレーションには影響しません。

  • 戻り結果は、操作の実行結果から構成されます。

POST _bulk
{ "index" : { "_index" : "test", "_id" : "1" } }
{ "field1" : "value1" }
{ "delete" : { "_index" : "test", "_id" : "1" } }
{ "create" : { "_index" : "test2", "_id" : "3" } }
{ "field1" : "value3" }
{ "update" : {"_id" : "1", "_index" : "test"} }
{ "doc" : {"field2" : "value2"} }

一括 read-mget

GET /_mget
{
 "docs" : [
 {
 "_index" : "test",
 "_id" : "1"
 },
 {
 "_index" : "test",
 "_id" : "2"
 }
 ]
}

元の住所

Read next

mybatisを学ぶ

1 マッパーのパスはtoパスと同じであることが望ましいです。 4 は基本型またはラッパークラスです。 プレースホルダは自由に書くことができます。 メソッドは固定で、他の名前で書くことはできません。 これは、#{}プレースホルダに値を設定すると、自動的にjava型がjdbc型に変換されます。

Feb 22, 2020 · 5 min read