問題タブ [resthighlevelclient]
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 - Java 高レベル REST クライアント API の呼び出し中に OutOfMemoryError を取得する
私の要件は、Spring Boot を使用して Java Rest クライアント API を介して ElasticsticSearch DB からデータを取得する必要があることです。そのため、以下のようにスプリング ブート コードを記述しました。
pom.xml の依存関係:
アプリケーションの起動時に上記のクライアントを開始し、アプリケーションがシャットダウンされるときにのみクライアントを閉じます。
次に、ELS からデータを取得するために (SerchResponse, multiserachResponse, CountResponse) を使用してそれぞれの API を作成しました。
データが少ないため、このコードは非 PROD 環境で正常に動作します。しかし、PROD 環境では膨大なデータがあるため、これらの API を呼び出すと、以下のエラーが発生しました。
2020-05-28T15:24:52.96+0530 [RTR/0] OUT 2020-05-28T15:24:53.72+0530 [APP/PROC/WEB/0] ERR スレッド「I/O ディスパッチャ 1」で例外が発生しました java. lang.OutOfMemoryError: Direct buffer memory 2020-05-28T15:24:53.72+0530 [APP/PROC/WEB/0] ERR at java.nio.Bits.reserveMemory(Bits.java:694) 2020-05-28T15:24 :53.72+0530 [APP/PROC/WEB/0] ERR at java.nio.DirectByteBuffer.(DirectByteBuffer.java:123) 2020-05-28T13:37:03.99+0530 [RTR/4] OUT 2020-05-28T13 :37:04.25+0530 [APP/PROC/WEB/0] OUT 2020-05-28 08:07:04.256 ERROR 14 --- [io-8080-exec-10] cddeElasticSearchRepositoryImpl: 例外 :: java.lang.IllegalStateException : リクエストを実行できません。I/O リアクターのステータス: STOPPED 2020-05-28T13:37:04.25+0530 [APP/PROC/WEB/0] OUT at org.apache.http.util.Asserts.check(Asserts.java:46)
このような問題に直面した人はいますか? この問題を解決する方法を教えてください。
java - Elasticsearch Java High-Level Client 6.8 からの応答で失敗したドキュメントのみを取得する方法
Elasticsearch Java High-Level REST Client を使用して一括リクエスト中に、レスポンスで失敗したドキュメントのみを取得する方法はありますか?
現在、ES はすべての成功したドキュメントと失敗したドキュメントを応答で送信しており、失敗したすべてのBulkItemResponse
ドキュメントを再処理しています。失敗したドキュメントを見つけて再処理しています。
bulkItemResponse.getItems()
一括操作で実行される各アクションを表すものとして(同じ順序で!)。