ES7.3学習記録

取り付けとkibana ESは、
参照します。https://www.cnblogs.com/kakatadage/p/9922359.html

 

第二に、ドキュメントの公用チェックアウト
を参照します。https://www.elastic.co/guide/en/elasticsearch/reference/7.x/index.html

 

三、インデックス関連の操作

注:以下は、インデックステストの名前です

1.インデックス作成
作成する最も簡単な方法は、(1)を、デフォルトの設定パラメータは、使用

PUT /テスト

エイリアス、マッピングおよび設定:(2)3つのパラメータを取ることができます

     -別名:1つ以上の追加の別名インデックスに付与
    例:
単一の別名インデックスを追加します

POST / _aliases 
{ 
    "アクション":[ 
        { 
             "追加":{ 
                    "インデックス": "TEST1"、 "エイリアス": "ALIAS1" 
} } ] }

または

PUT /テスト/ _alias / ALIAS1

複数のインデックスにエイリアスを追加します。

POST / _aliases 
{ 
    "アクション":[ 
        { 
            "追加":{ 
                "インデックス":[ "TEST1"、 "TEST2"]、 "エイリアス": "ALIAS1" 
             } 
        } 
    ] 
}    

エイリアスのインデックスを作成するとき

PUT /テスト
{ 
    "エイリアス":{ 
        "試験1":{} 
    } 
}    

-マッピング:また、このような特性含むJavaオブジェクトのような内部のインデックスのインデックスデータ構造(フィールド; 注:ES既存の提出名およびタイプを変更するサポートしていないが
EG:

PUT /試験/ _mapping 
{ 
    "プロパティ":{ 
       "メール":{ 
            "タイプ": "キーワード" 
        } 
    } 
}

マッピングを獲得

GET /テスト/ _mapping

マッピングフィールドの取得

GET /テスト/ _mapping /フィールド/フィールド名

フィールド、マッピングの削除
  :パラメータのインデックスは、次のパラメータがあります設定-
    デフォルトはfalse; include_type_nameを(マッピングタイプが含まれています- 注意:7.xのは、ときマッピングタイプが削除されます。https:// WWW特定の理由を参照してください。 elastic.co/guide/en/elasticsearch/reference/7.3/removal-of-types.html#_custom_type_field)
    -タイムアウトまでwait_for_active_shards(ノードのコピーを待っているだけアクティブで動作する、または待機;デフォルトは1、それは唯一であります)アクティブ状態で続行する前にメイン断片を待っ
    -タイムアウト(タイムアウト動作、デフォルト30秒)
    - master_timeout(マスタノード接続タイムアウト、デフォルト30秒)
例えば:

/テストPUT 
{ 
    7.xで{//リリース: "設定"フラグメント番号及びデフォルトの数は、バックアップである1。
      "number_of_shards"、 "1" 
      "number_of_replicas":" 1" 、
    }、
    "マッピング":{ 
        "プロパティ":{ 
            "FIELD1":{ "タイプ": "テキスト"} 
        } 
    } 
}    

1つのエンティティのみにより7.xの時間に、マッピング・タイプに除去されるので、各インデックスストア:注意

2.マッピングの作成
、インデックスが作成されたとき(1)作成しました

/テストPUT 
{ 
    7.xで{//リリース: "設定"フラグメント番号及びデフォルトの数は、バックアップである1。
        "number_of_shards"、 "1" 
        "number_of_replicas":" 1" 、
    }、
    "マッピング":{ 
        "プロパティ":{ 
        "FIELD1":{ "タイプ": "テキスト"} 
        } 
    } 
}

(2)内の既存のインデックスを作成

PUT /試験/ _mapping 
{ 
    "プロパティ":{ 
        "メール":{ 
            "タイプ": "キーワード" 
        } 
    } 
}

注意:ESは、既存のファイルされる名前や種類の変更をサポートしていません。

3.インデックスの削除
(1)個々の削除

DELETE /さえずり

(2)複数/全て削除します(注:これは非常に危険ですので、この操作が禁止され、コンフィギュレーションが真であるaction.destructive_requires_name設定をelasticsearch.ymlしようとしている、インデックスを削除するには、この時間は、明らかに、インデックスの名前を指定する必要があります)

* _allをDELETEまたはXXをDELETE

4.情報のインデックスが取得
(1)シングル取得します

GET /テスト

(2)/すべての複数を得ます

* _allをGETまたはXXをGET

インデックスが存在するか否かを決意は、(200に戻り、存在し、そうでない場合は404)

HEAD /テスト

注:このテストでは、インデックス名ですが、インデックスが名前の場合、テストは存在しませんが、テストの別名があるのも事実に評価します

6.クローズ/オープン・インデックス(インデックスが一度閉じて、読み出しおよび書き込み操作をすることができません)

POST /テスト/ _closeの
POST /テスト/ _open

注:また_allを使用して、あいまい一致キーワードまたは近い複数のインデックスなどの操作を削除することができ、もちろん、あなたがtrueに設定さaction.destructive_requires_nameこの操作を、無効にすることができます。操作はあなたがインデックス操作を閉じ無効にする場合はfalse = cluster.indices.close.enable設定することができるように非常に近いインデックスは、ディスク領域を占有され、デフォルトはtrueです。

7.収縮率(以下、マスタスライスインデックスが、ターゲットインデックスのフラグメントの数のインデックスに移動指数は、断片化因子などのソースの数、である必要があり、ソースインデックスフラグメントの数である:8、次いで先のフラグメントのインデックス番号とすることができる; 4、2、1)
(1) :コピーが同じノードになければならない)とインデックスが読み取り専用にすべてのコピーが設定されているが(必要条件を縮小同じノードに移動しました

PUT / my_source_index / _settings 
{ 
    "設定":{ 
        "index.routing.allocation.require._name":          
        "shrink_node_name"、//という名前のノードに移転し、各タイルshrink_node_nameのコピー強制
        「index.blocksを。 「書き込み:真//読み取り専用
    } 
}

(2)ターゲットインデックス(ソースベースのインデックスのコピー)を作成します

?真copy_settings =にPOST / _shrink / my_target_indexをMy_source_index 
{ 
    {: "設定" 
        "index.routing.allocation.require._name":NULL、//強制的に名前のshrink_node_nameをスライスするために移転し、各コピー元のインデックスを削除ノード構成
        「index.blocks.write」:NULL //クリアソースインデックスは読み取り専用構成に設定されています
    } 
}

(3)移動

?真copy_settings =にPOST / _shrink / my_target_indexをMy_source_index 
{ 
    "設定":{ 
        :. 1、//部数"index.number_of_replicas" 
        "index.number_of_shards":1、//フラクタルシート
        "index.codec":「best_compression 「例えば強制的に単一のタイムスライスのセグメントに結合のみ//最適な圧縮効果に新しいインデックスを書き込み、
    }、
    」エイリアス「:{ 
        」my_search_indices「:{} 
    } 
}

8.膨張率(収縮およびその逆)
分割規則:索引を複数回に分割することができるが、索引を作成して分割断片の最大数はnumber_of_routing_shards決定です。断片の数は、ファクタ、複数の分割後に、すなわちフラクタルnumber_of_routing_shards片を分割する必要number_of_routing_shardsあります。
例えば、元のマスタースライス5、指標30 number_of_routing_shardsの=次のように、状況を解決することができる:
(2により分割し、次にによって3)5→10→30を
5→15→30(分割によって3、次いで。 )によって2
(分割による6)→30。5

(1)のみソースインデックスを読み取るように設定されています

PUT / my_source_index / _settings 
{ 
    "設定":{ 
        "index.blocks.write":真
    } 
}

(2)移動

POST my_source_index / _split / my_target_index 
{ 
    "設定":{ 
        "index.number_of_shards":3 
    } 
}

注:条件が満たされなければならないスプリット:
-対象のインデックスがあってはならない
-メインの破片インデックスは、対象指数よりも小さくなければなりません。
-断片の主な目標数は、メインのインデックス番号はソースインデックス要因を断片化しなければなりません。
-処理ノードの分割処理は、既存のインデックスの2番目のコピーに対応するために十分な空きディスク領域を持っている必要があります

古いインデックスと新しいインデックス放棄することを自動的にリダイレクト別名を使用する9.
インデックスを作成し、エイリアスをもたらすために(1)

PUT /ログ-000001 
{ 
    "エイリアス":{ 
        "logs_write":{} 
    } 
}

(2)新しいインデックスルールを生成するために設けられています。

POST / logs_write / _rollover 
{ 
    "条件":{ 
        "max_ageの": "7D"、天// 7 
        "max_docs":1000、行// 1000年
        "MAX_SIZE": "5ギガバイト" // 5ギガバイト
    } 
}

それなので、ログが-000001ファイルの開始は、7日間生き延びまたは10以上またはそれ以上のインデックス付きドキュメントの最大数を5ギガバイト最大マスタースライスが自動的に作成されたログ-000002そのインデックスの生成ルールをされるよりも:既存のインデックスの名前場合 - とは番号で終わり、例えば-000001をログに記録し、新しいインデックスの名前は、数(ログ-000002)をインクリメント、同じパターンに従います。ないのであれば - 数で終了し、あなたが名前をカスタマイズする必要があります

POST / logs_write / _rollover / my_new_index_name 
{ 
    "条件":{ 
        "max_ageの": "7D"、
        "max_docs":1000、
        "MAX_SIZE": "5ギガバイト" 
    } 
}

10.凍結/解凍指数(冷凍インデックスに書き込むことはできません)

POST / my_index / _freeze 
POST / my_index / _unfreeze


第四に、(基本操作IDに応じて)動作に関連するデータ
1.データ
全部4つの方法:_DOCと_CREATE差は、_DOCデータが既に更新されて存在する場合は挿入のみ挿入されることである_CREATEデータはありません;挿入されたインデックスが自動的に作成され、マッピングが存在しない場合、デフォルト、自動的にパラメータを設定し、設定することによって作成することが許可されないかもしれない。action.auto_create_index

PUT / < インデックス> / _DOC / < _id > 

POST / < インデックス> / _DOC / 

PUT / < インデックス> / _CREATE / < _id > 

POST / < インデックス> / _CREATE / < _id >

(1)(POSTリクエストを使用して)IDを挿入インクリメント

私のインデックス/ _DOC POST 
{ 
    "年齢":0 
}

(2)挿入は、独自のID(PUTリクエスト)を作成します

私のインデックスをPUT / _DOC / 2 
{ 
  "年齢":0 
}

2.データ検索
の4つの方法の合計:;データの取得をGET、データがHEADかどうかを確認するために存在し、デフォルトが最新であるたびにそのデータを確実にするためにGETインデックスを更新され、あなたが設定することで、この機能をオフにすることができます:リアルタイム= falseを達成します。フィールドのみを返す全ての情報_DOCのインデックスを返す(どのフィールド戻り指定)_SOURCE。

GET < インデックス> / _DOC / < _id > 

HEAD < インデックス> / _DOC / < _id > 

GET < インデックス> / _source / < _id > 

HEAD < インデックス> / _source / < _id >

3.データの削除

DELETE / < インデックス> / _DOC / < _id >

4.データの更新

POST / < インデックス> / _update / < _id >

(1)一般的な修飾、もちろん、データフィールド挿入モードをオーバーライドすることができ

POSTテスト/ _update / 1 
{ 
    "DOC":{ 
        "名前": "NEW_NAME" 
    } 
}

(2)(デフォルトはESスクリプトを使用することである)を使用するようにスクリプトを変更

POSTテスト/ _update / 1 
{ 
    "スクリプト":{ 
        "ソース": "ctx._source.counter + =      
params.count"、
    "langの": "痛み"、
    "paramsは":{ 
            "カウント":4 
        } 
    } 
}

V.クエリ
条件ページングクエリに基づい1.(特に運転文書に関連したQUERYは、公式サイトを参照します。https://www.elastic.co/guide/en/elasticsearch/reference/7.x/query-dsl.html)

POSTテスト/ _search 
{ 
    "クエリ":{ 
    "match_all":{ 
    } 
// "一致":{ 
// "filedName":XXX 
//} 
    }、
    "ソート":[ 
        { 
            "カウンター":{ 
            "オーダー": "ASC" 
        } 
    } 
]、
    "から" 1 
    "サイズ":1 
}

2.集計クエリ(aggs:集計クエリのキーワード、文書の公式サイトを参照します。https://www.elastic.co/guide/en/elasticsearch/reference/7.x/search-aggregations.html)

POSTテスト/ _search 
{ 
    "aggs":{ 
        "avg_grade":{ 
            "平均":{ 
                "フィールド": "カウンター" 
            } 
        } 
    } 
}

3.ファジィクエリ(特定の公式ドキュメントを参照してくださいます。https://www.elastic.co/guide/en/elasticsearch/reference/7.x/query-dsl-query-string-query.html)

POSTテスト/ _search 
{ 
    "クエリ":{ 
        "QUERY_STRING":{ 
            "クエリ":1、
            "フィールド": "カウンター"] 
        } 
    } 
}

おすすめ

転載: www.cnblogs.com/lzj123/p/11579740.html