問題タブ [elasticsearch-jest]

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.

0 投票する
4 に答える
19233 参照

java - ElasticSearch 用の Java HTTP クライアント

Java から ElasticSearch に接続しようとしていますが、HTTP 経由でしか接続できません。使えませんTransportClient。ElasticSearch REST API の周りに Java クライアント ラッパーはありますか? もしそうなら、私はそれをどのように使用しますか?

0 投票する
2 に答える
2004 参照

java - Jest を使用するサービスがスレッドプールでブロックされているのはなぜですか?

Jest クライアントを使用して ElasticSearch をクエリする Java + Spring アプリがあります (文書化が不十分なため、選択が不適切です)。ElasticSearch の応答時間は、150 の同時接続で約 8 ~ 20 ミリ秒ですが、私のアプリは最大 900 ~ 1500 ミリ秒になります。VisualVM をざっと見てみると、プロセッサの使用率が 10% 未満であり、プロファイリングすると、アプリが実行する時間の 98% は次のメソッドを待機していることがわかります。

これは Apache HttpCore の一部であり、Jest の依存関係です。Tomcat で実行できるスレッドに関して制限はありません (最大は 200 で、VisualVM によると、実験中のスレッドの最大数は 174 でした)。したがって、空きスレッドを待っていません。

レイテンシーの増加が大きすぎると思います。Jest がすべての要求に対処するのに十分なスレッドを持たない内部スレッドプールを使用していると思われますが、わかりません。

考え?

0 投票する
1 に答える
1535 参照

elasticsearch - JestでElasticSearch upsertを実行することは可能ですか?

ドキュメントに目を通しても、まだ確信が持てません - Jest Java クライアント ライブラリを使用して Elasticsearch に対して upsert を実行できるかどうか。

0 投票する
3 に答える
4870 参照

java - Jest を使用して ElasticSearch からインデックスのリストを取得する方法

Jestを使用してインデックスのリストを取得しようとしていますが、次のようになりました:

結果からインデックスのリストを取得するにはどうすればよいですか? Stats 以外のものを使用する必要がありますか? また、誰かが Jest の詳細なドキュメントを見せてくれると助かります。基本は非常によく文書化されていますが、さまざまな種類のビルダーで、現時点では本当に迷っています。

0 投票する
1 に答える
1184 参照

elasticsearch - HTTP Basic Auth を使用して、Jest で Nginx プロキシされた Elasticsearch に接続することは可能ですか?

Jest を使用して Java クライアントから HTTP 経由で Elasticsearch にリクエストを送信しています。リクエストは公共のインターネットを通過する必要があるため、Elasticsearch の前で Nginx プロキシを使用して SSL と HTTP Basic Auth を提供しています。ただし、Jest で HTTP Basic Auth クレデンシャルを設定する方法がわかりません。

Jest で HTTP 基本認証を使用することは可能ですか? もしそうなら、どのように?

0 投票する
1 に答える
680 参照

elasticsearch - JEST を使用して ElasticSearch で RemoveAliasMapping を実行する方法

jest を使用して ES のインデックスのエイリアス マッピングを削除しようとしています。

これが私が試したことです:

removeAliasMappingオブジェクトを作成した後、それを実行する方法が見つかりませんでした。

api : を使用すると、次のように表示client.execute(removeAliasMapping)されます。The method execute(Action<T>) in the type JestClient is not applicable for the arguments (RemoveAliasMapping)

また、 execute に公開されている他の A​​PI は見つかりませんでしたAliasMapping

ここでこれを手伝ってくれる人はいますか?できれば例文もお願いします。

0 投票する
1 に答える
6631 参照

elasticsearch-jest - 内部 Java API または Jest API でエラスティック検索インデックスの型名を取得する方法

demo という名前のインデックスがあり、さまざまなタイプが含まれています。私は自分のアプリでエラスティック検索のJava内部APIと残りのAPI jestを両方とも使用しています。基本的にはこんなお願いをしたい

特にjest apiでそれを行う方法はありますか? 残りのクライアント API のマッピングを取得するためのドキュメントはないようです。私は何をすべきか?

0 投票する
0 に答える
781 参照

java - エラスティック検索 Java クライアント。TransportClient の初期化に時間がかかる

TransportClient()Elasticsearch のデフォルトの初期化に jest クライアントの初期化よりも時間がかかるのはなぜですか?

TransportClient のコード:

jest クライアントのコード:

Jest クライアントは軽いです。ただし、elasticsearch Java クライアントはあるが jest クライアントがない拡張機能が必要です。

構成によって TransportClient の初期化の時間を短縮することは可能ですか? なぜ時間がかかりすぎるのですか?

PS TransportClient の初期化には、Mac 16 GB の RAM で約 6 秒以上かかります。

コードでクライアントを一度だけ初期化しないでください(静的および/またはスレッドセーフなシングルトンを使用)

0 投票する
1 に答える
1612 参照

java - JestResult.getSourceAsObjectList - 「@timestamp」または「@」で始まる一見任意のフィールド用

フィールド「@timestamp」をマップするために JestResult.getSourceAsObjectList をどのように使用しますか? 実際、「@」で始まる名前のフィールドをマップする方法がわかりません。「null」に設定され続けます。

たとえば、Elasticsearch クエリが返す場合

一致する POJO Java クラスがあります

それからやって

プリントアウト

そのため、「@version」と「@timestamp」が正しくマッピングされていません。

JsonObject 自体は、「@」記号を使用しても問題ないようです。

出力: "zzz"

JestResult の適切な使用法は何ですか。「@」で始まる名前のjsonフィールドをマップするgetSourceAsObjectList?

注:これは

0 投票する
1 に答える
6387 参照

elasticsearch - Elasticsearch Jest はドキュメント全体を更新します

Jestクライアントを使用してJavaサーバー経由でアクセスしているelasticsearchサーバーがあり、ドキュメントの複数のフィールドを毎回更新する最良の方法を探していました。

これまでのドキュメントを調べたところ、次の2つの方法があることがわかりました。

  1. スクリプトによる部分的な更新: 複数のフィールドの更新には適していないと思います (変更されたフィールドがわからないため)。
  2. ドキュメント全体の更新: ドキュメント全体のインデックスを再作成します。

私の質問は、Jest がスクリプトを介してのみ更新を提供することを知って、ドキュメント全体を更新するにはどうすればよいですか?

ドキュメントを削除し、更新されたバージョンをインデックス化するのが最善の方法ですか?