問題タブ [elasticsearch-indices]
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 - ElasticSearch にはいくつの古いインデックスが必要ですか?
私は主にデフォルトの構成で ElasticSearch を使用していますが、最近、古いインデックスが多くのスペースを消費していることに気付きました。そのような構成を行っていないため、デフォルト構成のために自動的に作成されていると思います。私を助けてください:
- 通常、古いインデックスはいくつ保持する必要がありますか?
- 今日の検索は、昨日作成されたインデックスを使用しますか?
- インデックスのコピーを 1 つだけ使用して、毎回同じものを再利用できますか?
- 古い指数はどのような目的に役立つのですか?
ES は運用サーバーで実行されているため、古いインデックスを削除することはできず、専門家のアドバイスが必要です。ありがとう。
elasticsearch - 具体的な指標とは
Elasticsearch に関して、具体的な指標とは何ですか。
Elasticsearch のドキュメントでは何百回も言及されていますが、どこにも定義が見つかりません。
例えば:
カウント- allowNoIndices:
- ワイルドカード インデックス式が ~具体的なインデックス~に解決されない場合に無視するかどうか。
amazon-elasticsearch - Cloudwatch ログを Elastic Search にストリーミングするときにカスタム インデックスを作成する方法
1 つの Kibana ダッシュボード、つまり、すべてのマイクロ サービスに 1 つのエラスティック検索ドメインを使用することを検討しています。現在、これを妨げているのは、クラウド ウォッチ ログをエラスティック検索にサブスクライブするときに、常に同じフォーマット cwl-* のインデックスを作成することだけです。
クラウド ウォッチ ログを Elastic Search にストリーミングするときに、インデックスのカスタム名を作成するにはどうすればよいですか? ログスタッシュに切り替えて、インデックスのカスタム名を作成し、それを amazon エラスティック検索にストリーミングする必要がありますか?
elasticsearch - Elasticsearch 更新インデックス テンプレート
Elasticsearch インデックス テンプレートについて質問があります。私の質問のシーンがあります。
という名前のシリーズ インデックスのテンプレートを作成します。このテンプレートからおよびtemplateA
という名前のいくつかのインデックスが作成されます。しばらくして、インデックスにいくつかの新しいフィールドを作成する必要があり、.Index-yyyy.mm.dd2
Index-yyyy.mm.dd2
templateA
SO、以前に作成したインデックスで新しいテンプレートを使用するにはどうすればよいですか? 何か提案をください。どうもありがとう!
elasticsearch - ElasticSearch が「読み取り専用」モードになり、ノードを変更できません
夜中に私の ES クラスター (5 つのデータ ノード、3 つのマスター ノードで構成) に何かが起こりました。
何が起こったのかわかりませんが、すべてのインデックスとデータが削除され、クラスターが「読み取り専用」モードになり、ハッキングされた可能性がありますか?
Kibanaを再起動しようとしました-再起動しましたが、何も変わりませんでした。Elasticを再起動しようとしました-再起動しました(すべてのノード)、何も変わりませんでした。
次に、クラスター設定を調べたところ、次のようになりました。
次のように読み取り専用を元に戻そうとしました:
あなたが見ることができるように運が悪い:
何か案は?
更新: Andrei Stefan によって解決された問題は、より重要な部分です - なぜですか? 何が起こったのですか?すべてのデータを失い、クラスターが読み取り専用モードになりました。
elasticsearch - Elasticsearch でフィールドがインデックスではなくタイプで指定されるのはなぜですか?
Elasticsearch インデックス内の複数のタイプに同じ名前のフィールドがある場合、それらのフィールドには、文字列と long の両方として「foobar」プロパティを作成しようとする同じマッピングが必要です...
たとえば、次のインデックス マッピングを PUT しようとすると:
...次のエラーが返されます
以下はelasticsearchサイトからのものです:
2 つの異なる型の同じ名前を持つ同じインデックス内のフィールドは、同じフィールドによって内部的にサポートされているため、同じマッピングを持つ必要があります。複数のタイプに存在するフィールドのマッピング パラメーターを更新しようとすると、update_all_types パラメーターを指定しない限り、例外がスローされます。この場合、同じインデックス内の同じ名前を持つすべてのフィールドでそのパラメーターが更新されます。
同じ名前のフィールドがインデックス内のすべての型に対して同じマッピングを持つ必要がある場合、型ごとにフィールド マッピングが指定されるのはなぜですか? インデックス全体のフィールドを指定してから、各タイプに割り当てられているフィールドを特定してください。
たとえば、次のようなものです。
このようなマッピング形式は、より簡潔で、実際に許可されているものをより適切に表現するものではないでしょうか?
私が尋ねる理由は、15 の型で使用される約 80 の異なるフィールドを持つインデックス テンプレート JSON ファイルの作成に取り組んでいるためです。フィールドの多くは、すべてではないにしても複数のタイプで使用されます。そのため、フィールドを更新する必要があるときはいつでも、それが使用されているすべてのタイプに対して更新する必要があります。
php - Laravel Scout - 関係を観察する
インデックスをインポートすると、すべてが正常に機能します (リレーションを含む)。
問題は、メイン モデルがリレーションを監視していないことです。
リレーションを更新すると、インデックスも更新されません。
Cache::tags
リレーションが変更されたときにインデックスを更新するために似たようなものを使用する方法はありますか? または多分別の方法です。
mysql - ElasticSearch - 非正規化データの問題への対処
ElasticSearch を使用したオークション システムを構築しました。ユーザー、オークション、入札の 3 つのモデルがあります。ユーザーはオークションを投稿したり、他のオークションに入札したりできます。
検索の最初の使用例の 1 つは、入札単価の検索です。ID、user_id、価格などで検索する以外に、興味深いユースケースに遭遇しました。ユーザーの名前を検索できるようにしたいのですが、そのユーザーが投稿したすべてのオークションからすべての入札を返す必要があります。
たとえば、"John" を検索すると、ユーザー "John" によって投稿されたすべてのオークションに対して送信したすべての入札が取得されます。
インデックスは次のようになります。
このインデックスにはいくつかの問題があります。
入札には多くの行 (10M 以上) があり、n-gram をオン
auction_user_name
にすると多くのスペースが必要になります。このデータを単一の型を持つ単一のインデックスで本当に非正規化する必要があるかどうか、またはより適切な代替手段 (親子型) があるかどうかを考えています。一部のユーザーは非常にアクティブで、何千もの入札を行うことができます。そのうちの 1 人が名前を変更すると、入札インデックスが何千回も更新されます。これは理想的ではなく、重複が原因で、サービス拒否に対して脆弱な書き込み負荷の高いインデックスになる可能性があります。
これら 2 つの問題に対する既知の解決策はありますか? これを解決するためにできるトレードオフがあると確信しています。
私はいくつかの提案を見てきました: https://www.elastic.co/guide/en/elasticsearch/guide/current/relations.html
メソッドは私が想像していたほどエレガントではないので、問題に取り組む方法がもっとあることに興味があります。