3

5 つのシャードと 2 つのレプリカを持つように構成された 2 ノードの Elasticsearch クラスターがあります。~2M レコードの db テーブルにインデックスを付けた後、対応するキャッシュの下に 124 個のセグメントが生成されました。この数は大きすぎます。インデックスを追加すると、nofiles のハード リミットに簡単に達してしまうのではないかと心配しています。

インデックスあたりのセグメント数を減らす方法はありますか? ありがとう

4

2 に答える 2

6

Elasticsearch でマージ ポリシーを制御できます。マージ設定は、Update Index Settings APIを使用して動的に更新できます。たとえば、index.merge.policy.segments_per_tier値を 10 未満に減らすと、各層のセグメント数が減り、その結果、セグメントの総数が減ります。

Optimize APIを使用して手動でマージを強制することもできます。例えば:

$ curl -XPOST 'http://localhost:9200/your-index/_optimize?max_num_segments=1'
于 2012-09-10T23:29:13.943 に答える
2

次のコマンドを使用して、セグメントの最大数を減らすことができます

$ curl -XPOST 'http://localhost:9200/_forcemerge?max_num_segments=5'

Windows の場合は、逆コンマを削除する必要があります。

于 2016-06-20T12:30:46.107 に答える