設定のES

インデックス設定オプションは、プロパティは、インデックスが作成された後、すなわち、いわゆる静的な設定を変更できない静的および動的特性、に分割されているか否かに応じて変更することができます。

1.インデックスの静的な設定

index.number_of_shards

 

インデックスポイントの枚数。5のデフォルト値は、デフォルトES 1024サポート断片の最大数はindex.max_number_of_shardsプロパティを変更することによって修正することができます。

 

index.shard.check_on_startup

 

スライス開口部の前にフラグメントは損傷がないかどうかを確認するかどうか。スライスダメージを検出した場合、それは開口部を防ぐことができます。

 

オプションの値:

 

偽:検出されず、デフォルト値

チェックサム:チェックのみ物理的な構造

真:比較的、物理的な構造と地盤の損傷をチェックCPU-

修正:似た偽の、バージョン7.0の後に捨てられました

index.codec

 

保存されたデータ圧縮アルゴリズム、デフォルト値LZ4、オプションの値best_compression、LZ4よりも優れた圧縮率は、(少ないディスクスペースを取るが、ストレージのパフォーマンスはLZ4より低い)を取得することができます。

 

index.routing_partition_size

 

パーティションの数をルーティング

 

このパラメータが設定されている場合は、そのルーティングアルゴリズムは次のとおりです。

 

(ハッシュ(_routing)+ハッシュ(_id)%index.routing_parttion_size)%のnumber_of_shards

1

設定されていない場合は、ルーティングアルゴリズム:

 

ハッシュ(_routing)%のnumber_of_shardings

1

デフォルト値を_routing _id

 

 

2.インデックス動的構成

index.number_of_replicas

 

スライスのインデックスのコピー数、1のデフォルト値は、この値は、インデックス値を変更することができます作成​​した後、0以上でなければなりません。

 

index.auto_expand_replicas

 

自動的にコピーの数を割り当て利用可能なノードの数に基づいて、デフォルトは偽である(すなわち、この機能を無効にする)、それは次のように設定することができる:0、全

 

index.refresh_interval

 

周波数リフレッシュ動作が実行され、操作は、検索インデックスの最新の変更に見ることができます。デフォルトの1秒。あなたは** --1 **更新が禁止されて設定することができます。

 

index.max_result_window

 

ページングされた検索制御レコードの合計数、+サイズがサイズを超えることはできませんから、デフォルトは10,000です。

 

index.max_inner_result_window

 

トップの集計を制御するために、100デフォルト。ヒットとメモリを制限サイズから重合内部ヒープメモリの最上位占有、時間と比例+を、ヒット。

 

index.max_rescore_window

 

リスコア検索では、再採点はWINDOW_SIZE最大値を要求しました。

 

index.max_docvalue_fields_search

 

クエリは、オープンdoc_valuesフィールドの最大数を、デフォルトの100が含まれています。

 

index.max_script_fields

 

Script_fieldsクエリで許可される最大数。デフォルトは32です。

 

index.max_ngram_diff

 

のmin_gramとmax_gramのNGramTokenizerとNGramTokenFilter間で許容される最大差。デフォルトは1です。

 

index.max_shingle_diff

 

ShingleTokenFilter、max_shingle_sizeとのmin_shingle_size間で許容される最大の差のために。デフォルトは3です。

 

index.blocks.read_only

 

インデックスデータは、インデックスデータが読み取り専用のメタデータを、trueに設定すると、インデックスデータは、インデックス・メタデータを変更することはできません、変更することはできません。

 

index.blocks.read_only_allow_delete

 

そしてindex.blocks.read_only実質的に類似した、唯一の違いは、削除を可能にすることです。

 

index.blocks.read

 

インデックスデータの読み出し動作を無効にするには、trueに設定。

 

index.blocks.write

 

インデックスデータに無効に書き込みアクセスをtrueに設定します。(索引データではなく、インデックスメタデータ)

 

index.blocks.metadata

 

trueに設定し、それには、インデックスは読まないと書き込みのメタデータを示しています。

 

index.max_refresh_listeners

 

各スライスのリフレッシュインデックスindexを取っ使用可能なリスナーの最大数。リフレッシュ= wait_forを実現するために、これらのリスナー。

 

index.highlight.max_analyzed_offset

 

文字の最大数を強調表示します。これが唯一のインデックスにシフトされていない文字や単語のベクトル上に設けられています。デフォルトでは、この設定を-1に、6.xでデフォルトを設定されていません。

 

index.max_terms_count

 

最大数の用語用語クエリを使用することができます。デフォルトは65536です。

 

index.routing.allocation.enable

 

このインデックススライシング制御分布、オプション値:

 

すべて:デフォルトでは、断片化がすべてのフラグメントを許可されています

プライマリ:マスタースライスしか割り当て

new_primaries:新しく作成されたに割り当てられた唯一のプライマリスライスすることができます

なし:配布を許可していません。

index.routing.rebalance.enable

 

この目的のために断片化インデックスのリバランス、オプションの値を有効にします。

 

すべて:デフォルトでは、断片化は、リバランスを許可されています

予備選挙:唯一のプライマリスライスのリバランスすることができます

レプリカ:断片のみのリバランスをコピーすることができ

なし:断片化は、リバランスに許可されていません

index.gc_deletes

 

削除された文書のバージョン番号を許可、操作の更なるバージョンに使用できる時間の長さを投げます。デフォルトの60年代。

 

index.max_regex_length

 

正規表現のクエリは、デフォルト値は1000、最大長正規表現を使用することができます。

 

mapping.coerce

 

真:デフォルト値、キャスト、フィールドのデータ型のJSON ESの値に、整数5に例えば、文字列「5」。

偽:JSONフィールドの型が一致しないESの値は拒否されます。

3.マージ

index.merge.scheduler.max_thread_count

ノードフラグメントは、スレッドの最大数は、デフォルト値を組み合わせた場合

 

Math.max(1、Math.min(4、Runtime.getRuntime()。availableProcessors()/ 2))

 

1へのSSDの非推奨設定した場合。

 

index.merge.policy.max_merged_segment

 

指定する単一セグメントの最大サイズは、デフォルト値5ギガバイトは、この値を小さくすることが適切と考えることができます。

 

index.merge.policy.segments_per_tier

 

この属性は、各セグメントの数を指定し、以下のセグメント、マージ操作がより必要とされる値が小さいほど、この値を大きくすることが適切と考えることができます。デフォルトでは、以上index.merge.poliycy.max_merge_at_onceなければならない10、です。

 

4.ログの表示

4.1検索ログの表示

ESは、クエリおよびデータ収集段階(クエリ)相(フェッチ)、閾値を設定する閾値変更ログを超えて提供します。

 

4.1.1サポートクエリパラメータ段階

index.search.slowlog.threshold.query.warn:10秒

index.search.slowlog.threshold.query.info:5秒

index.search.slowlog.threshold.query.debug:2S

index.search.slowlog.threshold.query.trace:500ミリ秒

クエリ相(クエリ)閾値上で定義されたとおり、それぞれ、複数10Sより、印刷アラート・ログを行いました。以上の5Sは、情報ログを印刷します。

 

4.1.2データ収集フェーズ・サポート・パラメータ

index.search.slowlog.threshold.fetch.warn:1秒

index.search.slowlog.threshold.fetch.info:800ms

index.search.slowlog.threshold.fetch.debug:500ミリ秒

index.search.slowlog.threshold.fetch.trace:200msの

それぞれ定義データ取得フェーズ(フェッチ)しきい値、上には、アラート・ログを印刷し、より1秒以上行いました。以上の800msは、情報のログを印刷します。

 

4.1.3ログの出力レベル

ログ出力レベルを定義することは情報、出力ではなく、デバッグ、トレースレベルのログです。

 

index.search.slowlog.level:インフォ

1

注:上記の断片ログログレベル。

 

4.1.4 log4j構成

以下のような構成のようなログ出力パスと出力のlog4jで定義されています:

appender.index_search_slowlog_rolling.type = RollingFile

appender.index_search_slowlog_rolling.name = index_search_slowlog_rolling

appender.index_search_slowlog_rolling.fileName = $ {SYS:es.logs} _index_search_slowlog.log

appender.index_search_slowlog_rolling.layout.type = PatternLayoutは

appender.index_search_slowlog_rolling.layout.pattern = [%のD {ISO8601}] [% - 5P] [% - 25C] [%のNODE_NAME]%マーカー%0.10000メートル%のn-

appender.index_search_slowlog_rolling.filePattern = $ {SYS:es.logs} _index_search_slowlog-%D {YYYY-MM-DD}の.log

log4jの構文に属する#ファイル切削プログラム、

appender.index_search_slowlog_rolling.policies.type =ポリシー

#タイムカットに基づいて、そのクラスSizeBasedTriggeringPolicyのサイズを切断することによってlog4jの支持体。

appender.index_search_slowlog_rolling.policies.time.type = TimeBasedTriggeringPolicy

ファイルにカット#1時間

appender.index_search_slowlog_rolling.policies.time.interval = 1

trueに設定されている場合#補正時間かどうかは、0からカウントを開始

appender.index_search_slowlog_rolling.policies.time.modulate =真

 

logger.index_search_slowlog_rolling.name = index.search.slowlog

logger.index_search_slowlog_rolling.level =トレース

logger.index_search_slowlog_rolling.appenderRef.index_search_slowlog_rolling.ref = index_search_slowlog_rolling

logger.index_search_slowlog_rolling.additivity =偽

10

4.2インデックスログの表示

4.2.1インデックススローログの構成

index.indexing.slowlog.threshold.index.warn:10秒

index.indexing.slowlog.threshold.index.info:5秒

index.indexing.slowlog.threshold.index.debug:2S

index.indexing.slowlog.threshold.index.trace:500ミリ秒

index.indexing.slowlog.level:インフォ

index.indexing.slowlog.source:1000

5

記録ファイル_sourceに使用されるパラメータの数がindex.indexing.slowlog.sourceの文字フィールド、デフォルトの1000年、1000年には全体のコンテンツ出力_sourceフィールドがfalseに設定されている示し、記録前の文字だけの_sourceをtrueに設定することができますことを示していますそれは内容_sourceフィールドは記録されませんを示しています。

 

デフォルトでは、出力は、出力の1行は、一般的に使用されますが、フォーマットを中止したい場合は、index.indexing.slowlog.reformat falseに設定することで回避することができる、フィールド形式を_SOURCEます。

 

4.2.2 log4j構成

構成ファイルに定義されLogg4j出力ログ。

 

appender.index_indexing_slowlog_rolling.type = RollingFile

appender.index_indexing_slowlog_rolling.name = index_indexing_slowlog_rolling

appender.index_indexing_slowlog_rolling.fileName = $ {SYS:es.logs} _index_indexing_slowlog.log

appender.index_indexing_slowlog_rolling.layout.type = PatternLayoutは

appender.index_indexing_slowlog_rolling.layout.pattern = [%のD {ISO8601}] [% - 5P] [% - 25C] [%のNODE_NAME]%マーカー%.-万メートル%のn-

appender.index_indexing_slowlog_rolling.filePattern = $ {SYS:es.logs} _index_indexing_slowlog-%D {YYYY-MM-DD}の.log

appender.index_indexing_slowlog_rolling.policies.type =ポリシー

appender.index_indexing_slowlog_rolling.policies.time.type = TimeBasedTriggeringPolicy

appender.index_indexing_slowlog_rolling.policies.time.interval = 1

appender.index_indexing_slowlog_rolling.policies.time.modulate =真

 

logger.index_indexing_slowlog.name = index.indexing.slowlog.index

logger.index_indexing_slowlog.level =トレース

logger.index_indexing_slowlog.appenderRef.index_indexing_slowlog_rolling.ref = index_indexing_slowlog_rolling

logger.index_indexing_slowlog.additivity =偽

5.ストア

index.store.type、その値は、インデックスが作成されるときに指定された静的パラメータであり、ストレージタイプを表し、変更することができません。

 

オプションの値:

 

FS

 

店舗への最善の方法を選択するために、現在のオペレーティングシステムに基づいて、デフォルトのファイルシステムの実装、

 

simplefs

 

FSシンプルなタイプは、ファイルシステム(LuceneのSimpleFsDirectoryにマップ)に保存されているランダムアクセスファイルを使用して実装しました。同時パフォーマンスの低下(マルチスレッドのボトルネック)。あなたは、インデックスの永続性を必要とする場合には、通常niofsを使用するのが最善です。

 

niofs

 

NIOファイルシステムは(LuceneのNIOFSDirectoryにマッピングされた)NIO断片化インデックスに使用されるファイルシステムのタイプに基づいて実施しました。これは、複数のスレッドが同時に同じデータファイルから読み込むことができます。

 

mmapfs

 

メモリマップドファイル機構は、メモリにファイルをマップベースのファイルシステムの実装は、ファイルシステムに格納されている(MMAP)断片化指数(LuceneのMMapDirectoryにマッピング)を実施しました。メモリマッピングは、仮想メモリアドレス空間に同じファイルサイズの部分をマッピングするプロセスを使用しています。

 

メモリベースのマッピングメカニズムを無効にするnode.store.allow_mmapfsプロパティによって、仮想メモリの大量せずにオペレーティングシステムのノードならば、あなたは明示的に達成するためにファイルの使用を禁止、そのプロパティを使用することができます。

 

index.store.preload、事前にデータをロードするファイル・システム・キャッシュに

 

ESホストを再起動した場合、ファイル・システム・キャッシュが空になり、その後、検索が遅くなります、あなたは、ファイルがメモリにロードする必要があるオペレーティングシステムのディスプレイを指示するファイル名の拡張子を指定することにより、index.store.preloadセットを使用することができます。

 

例えば、elasticsearch.yml設定ファイルに:

 

index.store.preload:[ "NVD"、 "DVD"]

1

またはインデックスの設定を作成する場合:

 

{

"設定":{

"index.store.preload":[ "NVD"、 "DVD"]

}

}

6.トランスログ

ためのLuceneが提出され、大きなオーバーヘッドに、それぞれの変更は、各スライスは、コピー、トランザクション・ログと呼ばれるトランスログを持っているので、(筆ディスク)一度提出することはできません。すべてのインデックスと削除操作はトランスログを書き込みますLuceneのインデックス化プロセスの内部でされています。クラッシュが発生した場合には、インデックスが回復時にデータ再生のtranslogによって回収することができます。

 

トランスログはREDOログ・mysqlのと少し似てログインします。

 

6.1トランスログ設定(インデックスレベル)

index.translog.durability

ブラシプレートトランスログの実施形態では、任意の値:要求、非同期。

リクエスト:プライマリスライスとスライスがすべてのブラシプレートが成功コピーした後、ブラシプレートに一回の要求、すなわちクライアントを開始CRUD操作は、なります、デフォルトモードはESで、成功を返します。

非同期:非同期モードブラシプレート、このモードindex.translog.sync_interval組の周波数は、デフォルト値は、モードデータ損失が可能である、5Sあります。

index.translog.sync_interval

 

非同期index.translog.durabilityを設定した場合、値は、ブラシプレートの周波数を設定するために使用され、デフォルトは5秒です。

 

index.translog.flush_threshold_size

 

トランスログのサイズがこの値に達した場合にES必須リフレッシュ別の次元では、ブラシのディスクデータのための力は、リフレッシュのLucene、デフォルトの512Mを強制します。

 

index.translog.retention.size

 

クロスの合計サイズは、ログファイルを保存します。それはすぐに削除されたが、時間の期間保持、すでにファイルに保存された最新のインターバルトランスログファイルの内容が削除されるようにされていない変更パラメータ設定の値を超えない場合、デフォルトは512Mで、トランスログログファイルのフラッシュです。

 

index.translog.retention.age

 

ファイル保存、最大持続時間、デフォルトの12HをTRANSLOG。

出典:https://blog.csdn.net/dwjf321/article/details/103871981

公開された277元の記事 ウォン称賛65 ビュー380 000 +

おすすめ

転載: blog.csdn.net/ailiandeziwei/article/details/104648321