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