問題タブ [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 投票する
1 に答える
3033 参照

elasticsearch - Elasticsearch - Java API を使用してソース フィールド データを取得する

jestでエラスティック検索を使用しています(Javaクライアントとして)。ネストされたドキュメントにいくつかのフィールドが必要ですが、ネストされたフィールドをペアとして取得できないため、それらを取得するには「_source」が必要です。

これは、ESクエリ[リンク]でそれらを取得するための以前の質問であり、うまく機能します。

しかし、そのクエリを jest コードとして変換することはできません。以下は私の試みです。

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

java - Jest クライアント/ElasticSearch クラスター情報

Java アプリケーションで jest クライアントを使用して ElasticSearch クラスターに接続していますが、jest API を使用して次のようなクラスター情報を取得する方法に関する情報を見つけたいと考えています。

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

java - AWS ElasticSearch Service バージョン 2.3 が Jest クライアントで動作しない: java.net.SocketTimeoutException

少し前に、 Amazon Web Servicesは、 ElasticSearchサービス1.5または2.3のバージョンを選択する可能性を追加しました。

私は古いバージョンを使用していましたが、 Jestクライアントは AWS とメモリ内の ElasticSearch で完全に正常に動作しました (単体テスト)。依存関係のバージョンを変更すると、いくつかのエラーが発生しました。

現在のバージョン:

私は次のように更新しました:

同様に、ここでio.searchbox : jest-parent : 2.0.3を見ることができます。ElasticSearchの現在のバージョンは 2.1.0 です。

問題は、Jest Client と AWS Elastic Search サービス バージョン 2.3 の互換性を実現する可能性はありますか?

コードを実行すると、多くのエラーが表示されます。

java.net.SocketTimeoutException: 読み取りタイムアウト

この例外は、ES へのほぼすべての呼び出しで発生しました。適切に返されたインデックスの呼び出しのみが、IndicesExists.Builderを使用して404を返しました。


エラスティックサーチ構成クラス:


単体テストからの完全なスタック:

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

java - スプリングブート 1.4 + ジェスト 0.0.6

SpringBoot 1.4 で Jest 0.0.6 ElasticSearch クライアントを使用しようとしていますが、次のエラーが発生します。これは、SpringBoot が Jest クライアントをヘルス チェックとともに自動的に作成しようとするためだと思いますが、古い Jest クライアントには必要なクラスの一部がありません。

これを回避する方法はありますか?

現時点でアップグレードするオプションがない古い ElasticSearch v0.90.5 サーバーに接続する必要があります。SpringBoot からそのような古いバージョンに接続する最善の方法について何かアイデアがあれば、それも非常に役立ちます。

Spring Boot 1.4 リリースノートから:

冗談のサポート

Jest がクラスパス上にある場合、Spring Boot は JestClient と専用の HealthIndicator を自動構成します。これにより、spring-data-elasticsearch がクラスパスにない場合でも、Elasticsearch を使用できます。」

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

java - _msearch と _search のパフォーマンス

_msearch一度に複数の検索に使用されます。ネットワークのオーバーヘッドが削減されるため、これだけでもパフォーマンスが向上します。現在、単一のクエリに対して_msearch、エンドポイントのように使用しています。_search将来のバッチ処理のために、このメカニズムを整備したいと考えていました。バッチ処理を利用するまで、オーバーヘッドは発生しますか? 単一のクエリ_msearchとまったく同じように動作しますか?_search

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

java - エラスティック検索 1.5 ジオ ポイントの問題

ES 1.5 で地理的距離の並べ替えを取得しようとしています。geo_point タイプのマッピングは次のとおりです。

次のようにインデックス データを追加します。

ドキュメントのインデックス作成後にエラスティック検索のマッピングを確認すると、マッピングが異なります。

マッピングが変更されるため、地理的距離で並べ替えることができません。

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

java - NoClassDefFoundError: org/elasticsearch/index/query/QueryBuilder

Elasticsearch、Jest、および javax サーブレットを使用しているプロジェクトがあります。私の pom.xml ファイルは次のようになります。

Eclipse から Tomcat Apache 8.5.6 を実行しています。サーバーを実行しようとすると、"Server Tomcat v8.5 Server at localhost failed to start" というエラーが表示されます。スタック トレースは次のようになります。

「java.lang.NoClassDefFoundError: org/elasticsearch/index/query/QueryBuilder」という行が表示されます --> しかし、Maven 依存関係を展開することで org.elasticsearch.index.query.QueryBuilder クラスを表示できます。

エラーは pom.xml ファイルに何らかの形であると思いますが、サーバーの起動を妨げている原因を正確に見つけることができません。

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

java - JEST Elastic Search REST Java API での SSL 証明書の組み込みに関する問題

Jest API を使用して Elasticsearch(ELK) に接続する際に問題に直面しています。SCROLLとSCANをサポートし、証明書ベースの認証もサポートするELK用の残りのJava APIを探しています。

Jest と Flummi が利用可能なものであることがわかりました。

Jest は人気があり、サポートも充実しているため、使用しようとしています。

ELK データベースには認証用の証明書が必要です。これは個人証明書にインストールされています。

私の質問は、Jest クライアントを使用して、証明書を使用して HTTP 要求を行うにはどうすればよいですか? いくつかのコードを見つけましたが、役に立ちません。私のコードは以下です。

Plsは問題について提案します。

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

java - 最初の実行操作後の Jest クライアントのシャットダウン

Amazon S3 からいくつかのファイルを読み取り、そのデータを AWS ElasticSearch Service にプッシュする関数を含む AWS Lambda パッケージ (Java) を作成しました。私は AWS Elastic Search を使用しているため、トランスポート クライアントを使用できません。その場合、Jest クライアントを使用して REST 経由でプッシュしています。問題は Jest クライアントにあります。

これが私の Jest クライアント インスタンスです。

AWS Elasticsearch ドメインは IAM アクセス ポリシーによって保護されているため、AWS によって承認されるようにリクエストに署名します (例はこちら)。POJO を使用してドキュメントのインデックスを作成します。

私が直面している問題は、jest クライアント インスタンスで複数のアクションを実行できないことです。たとえば、最初にインデックスを作成した場合:

その後、たとえば、一括インデックス作成を行いたいと思いました。

最初のアクションのみが実行され、2 番目のアクションは失敗します。何故ですか?複数のアクションを実行することは可能ですか?

Morover、提供されたコードを使用して、ドキュメントにインデックスを付けたいときに、20 を超える一括操作を実行できません。基本的には 20 前後で問題ありませんが、それ以上になるとclient.execute(bulkIndexBuilder.build());実行されず、クライアントがシャットダウンします。

どんな助けや提案も感謝します。

更新: AWS ElasticSearch では、個々のノードへの接続が許可されていないようです。Jest クライアントでノード検出をオフにするだけで、.discoveryEnabled(false)すべての問題が解決しました。この答えは役に立ちました。

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

java - エラスティック検索の Jest クライアントでの HTTPS サポート

HTTPS 接続HTTPS/SSL サポートを介して Elasticsearch に接続しようとしています。

コードは次のとおりです

http接続を使用して接続できます。しかし、HTTPS接続を使用して接続しようとすると、次のエラーが発生します

エラー

このエラーを見つけたらお知らせください。コードに問題はありますか?