問題タブ [elasticsearch-java-api]

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 投票する
1 に答える
1437 参照

java - Elasticsearch Java API を使用したロガーの警告

ドキュメント処理を実行し、Elasticsearch インデックスにドキュメントを追加する Java コンソール アプリケーションを作成しています。Elasticsearch との通信を処理するために単純なラッパー クラスを使用しています。

このラッパー クラスからの関連する抜粋は、次のgetClientConnection()メソッドです。

そしてaddToIndex()方法:

コンソール アプリケーションからこのコードを呼び出すと、すべてが適切に機能し、ドキュメントがインデックスに追加されますが、実行すると警告メッセージが表示されます。

Elastic がログに log4j を使用していることは知っていますが、なぜ、何をログに記録しようとしているのかはわかりません。

これはスタンドアロン アプリケーションであるため、elasticsearch 構成ディレクトリをクラス パスに追加したくありません。アプリケーションは、Elastic を実行していないマシンで実行できる必要があります。私のアプリケーションでは、ログの目的で log4j2 を使用していることにも注意してください。

今私の質問:

  1. TransportClient のロガーを無効にすることは可能ですか? 設定オブジェクトの引数を取る LogConfigurator.configure メソッドを見ましたが、その使用方法がわかりません。

  2. 自分のロガーを TransportClient に挿入することはできますか?

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

elasticsearch - エラスティックサーチネストフィルターについて

私は以下のマッピングを持っています、

および以下のデータ。

spring-elasticsearch データを使用していますが、リポジトリはありません。テンプレート自体を使用することを意味します。バーコードで検索すると、うまくいきます。ネストされたクエリを実行すると、すべて問題ないようですsku.id

しかし、検索すると機能しませんsku.code

以下のコードを検索に使用しています。

私が欠けているものを教えてもらえますか?

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

java - Elasticsearch + Java APIで接続が確立されているかどうかを判断する方法は?

私は、elasticsearch と Java API を初めて使用します。API を使用して Elasticsearch への接続が確立されたかどうかを確認するにはどうすればよいですか? 通常、サーバーからの応答を期待します...

コード

ノード名はTestに設定されており、Eclipseから次のものを取得しています

Elasticsearch 側では何も表示されませんが、これが正常に接続されているかどうかを知るのに十分な知識がありませんか?

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

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

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

TransportClient のコード:

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

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

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

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

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