[エントリーから実際の戦闘までのES] 8。フルテキスト検索-ElasticSearch-エントリー-データの削除とサンプルテストデータをインポートするための一括操作

セクション7から続く

5.ドキュメントとインデックスを削除します

タイプを削除 メソッドまたはパスパラメータ
ドキュメントを削除する 顧客/外部/ 1を削除
インデックスを削除する 顧客を削除

5.1、ドキュメントを削除する

deleteメソッドを使用して、http://192.168.56.10:9200/customer/external/1リクエストで郵便配達員を送信します。結果を確認でき、削除されたドキュメントを確認できます。成功:
ここに写真の説明を挿入

再送信要求404はnot_found、結果のステータスを返す
ここに写真の説明を挿入

削除したばかりのドキュメントをクエリすると、"found": false404ステータスの結果が返されます。
ここに写真の説明を挿入

5.2、インデックスを削除します

deleteメソッドを使用して、http://192.168.56.10:9200/customerリクエストで郵便配達員を送信します。結果を確認し、インデックスが正常に削除されたことを確認できます。
ここに写真の説明を挿入

再送信要求404はindex_not_found_exception、結果のステータスを返す
ここに写真の説明を挿入

削除したばかりのインデックスをクエリすると、no such index [customer]404ステータスの結果が返されます。
ここに写真の説明を挿入

問題は、文档合計を削除索引できるので、削除できる类型ということです。

ESでは、インデックスの下に多くのタイプがありますが、ESはタイプを削除する方法を提供していません。インデックスが削除されると、すべてのタイプが削除されます。

6.バルクAPI

オペレーティング パラメータ
POST
顧客/外部/ _bulk
{“ index” {"_id":“ 1”}
{“ name”:“ John Nash”}

{“ index”: "_ id" 2 "}
{“ name”:“ Jane Nash”}
文法形式 {アクション:{メタデータ}} \ n
{リクエスト本文} \ n

{アクション:{メタデータ}} \ n
{リクエスト本文} \ n
複雑なインスタンス
POST / _bulk
{"delete":{"_ index": "website"、 "_ type": "blog"、 "_ id": "123"}}
{"create":{"_ index": "website"、 "_ type": " blog”、 "_ id":“ 123”}}
{“ title”:“私の最初のブログ投稿”}
{“ index”:{"_ index":“ website”、 "_ type":“ blog”}}
{“ title ”:“ 2番目のブログ投稿”}
{“ update”:{"_ index":“ website”、 "_ type":“ blog”、 "_ id":“ 123”}}
{“ doc”:{“ title”: 「更新されたブログ投稿」}}

バルクAPIを使用するには、kibanaで操作を実行する必要があります。postmanでエラーをリクエストすると、エラーが報告されます。
まず、リクエスト本文のデータがjson形式ではなくなりました。テキスト形式を使用し、次のエラーを報告します。 :
ここに写真の説明を挿入

jsonに変更して再試行しましょう:
ここに写真の説明を挿入
上記のjson形式が間違っているので、変更して再試行してください。postman
ここに写真の説明を挿入
で一括操作を完了できないことがわかります。以前にインストールした、kibanaで操作する必要があります。
キバナのコンソールを開き、以下を選択しますDevTools
ここに写真の説明を挿入

DevToolsデータインターフェイスの後にクリックします。私たちはデータ操作を実行するためにここにいます:
ここに写真の説明を挿入

DevToolsバッチ操作の実行に使用します。次の結果を参照してください。
ここに写真の説明を挿入

複雑なバッチ操作を実行します。

POST /_bulk
{"delete":{"_index":"website","_type":"blog","_id":"123"}}
{"create":{"_index":"website","_type":"blog","_id":"123"}}
{"title":"My first blog post"}
{"index":{"_index":"website","_type":"blog"}}
{"title":"My second blog post"}
{"update":{"_index":"website","_type":"blog","_id":"123"}}
{"doc":{"title":"My updated blog post"}}

/_bulk特定のインデックスを指定せずに真上使用すると、ESでグローバルに実行されることを意味します。結果は次のとおりです。
ここに写真の説明を挿入

バルクAPIは、すべてaction(アクション)をこの順序実行します
何らかの理由で単一のアクションが失敗した場合、その後も残りのアクションを処理し続けます。
バルクAPIが返されると、各アクションのステータス(送信されたのと同じ順序)が提供されるため、指定されたアクションが失敗したかどうかを確認できます。

7.サンプルテストデータ

顧客の銀行口座情報の架空のJSONドキュメントのサンプルを用意しました。各ドキュメントには、次のスキーマ(モード)があります。

スキーマ
{ 「account_number」:1、「balance」:39225、「firstname」:「Amber」、「lastname」:「Duke」、「age」:32、「gender」:「M」、「address」:「880Holmes Lane」、「employer」:「Pyrami」、「email」:「[email protected]」、「city」:「Brogan」、「state」:「IL」}











上記のデータは、githubのES公式ドキュメントから傍受されています。次のアドレスにアクセスできます。

account.jsonインポートテストデータ

ESでテストデータを実行します
POST bank/account/_bulk
ここに写真の説明を挿入

githubでデータをコピーするのが難しい場合は、ダウンロードしたデータを使用できます:accounts.json、またはgitee-accounts.jsonにアクセスします

作成後、これを使用http://192.168.56.10:9200/_cat/indicesしてESの現在のインデックスを確認できます。バンクのあるインデックスには1000個のデータがあることがわかります。
ここに写真の説明を挿入


参照:

Elasticsearchリファレンス

弾性

フルテキスト検索エンジンElasticsearchの使用を開始する

おすすめ

転載: blog.csdn.net/runewbie/article/details/106315509
おすすめ