問題タブ [elasticsearch-1.7.5]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
elasticsearch - セグメントを削減し、ES で削除されたドキュメントを排除するための最適化 API が機能しない
これは私の以前の質問の続きです。削除されたドキュメント数の膨大な数は、ES インデックスで削除されたドキュメントに関連する ES クエリのパフォーマンスに影響します。
回答で指摘されているように、強制マージ APIを使用できないES 1.X バージョンを使用しているため、最適化 APIを使用しましたが、Say による最適化 API github リンク (ES サイトで見つからなかったため、以前に提供されたもの) について読んだ後エラスティックのバノン創始者は、同じ仕事をしているように見えます。
最適化 API を実行した後、インデックスの成功メッセージが表示されましたが、削除されたドキュメントの合計数が減少している様子が見られず、セグメント APIを使用してインデックスのセグメントを確認したところ、25 を超えていることがわかりました。各シャードのセグメントとすべてのシャードは、メモリ内に 250 ~ 1 GB のデータとほぼ 500,000 のドキュメントを保持していますが、削除されたドキュメントがほとんどないシャードがいくつかあることがわかります。
だから私の質問は:
- 私のインデックスには複数のデータ ノードにまたがる複数のシャードがあり、1 つのノード URL のみを使用して最適化 API を実行すると、そのノードのセグメントのみがマージされますか?
- セグメント API の結果では、node-id が のよう
"node": "f2hsqeamadnaskda"
に表示されますが、私は KOPF プラグインを使用しており、データ ノードにカスタム名を付けています。したがって、この不可解なノード名を人間が読めるノード名に関連付けて、ステートメント 1 が正しいかどうかを識別するにはどうすればよいですか?いいえ? - オプティマイズ API に関するドキュメントはありませんが、すべてのノードのすべてのシャードのセグメントを一度にマージすることはできますか? 適用する前にインデックスを読み取り専用にする必要がありますか?
elasticsearch - 7.X 構文に従って使用すると、Elasticsearch 分析 API が 1.X バージョンで間違ったトークンを表示する
ユーザーのクエリの 1 つに取り組んでいるときに、最初は最新バージョンを使用していると想定していましたが、 Analyze APIを示したときは驚きました。
トークンをチェックする必要があるカスタム アナライザー
API を分析する
上に明確に示されているように、正しくない非常に多くのトークンが生成されています。チェックされたユーザーは、1.7 バージョンを使用していると述べ、elasticsearch の最新バージョンで提供されている構文に従いました。