問題タブ [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.

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

java - Java REST 高レベル クライアントからの Elasticsearch クエリが、Kibana でクエリ DSL を実行した場合とは異なる/望ましくない結果を返す

クラウドでホストされているクラスターの 1 つにある ES インデックスをクエリする Java 高レベル REST クライアントを使用して、elasticsearch 検索機能を実装しています。私の意図したクエリ JSON DSL は次のようになります。

これに対応して、上記の DSL と同じ機能を実行する Java 高レベル REST クライアントを使用して実行するコードを作成しました。

私が気付いたのは、Java メソッドの検索結果が、kibana で DSL を直接実行した場合の結果と異なることです。Javaから実行すると、上記の検索内容と関係のないレコードが見つかります。上記の JSON クエリ DSL と一致するように Java コードを実装したと思うので、これは奇妙だと思います。

生成された JSON を Java 側から出力しようとすると、その出力は次のようになります。

検索結果が望ましくない方法で返されるようにする Java コードに何か不足がありますか? または、これら 2 つのメソッドで返されるレコードの不一致の理由は何でしょうか?

前もって感謝します!

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

java - Java REST 高レベル クライアントを使用した Elasticsearch ノードの IP アドレスとその他の詳細

Java 高レベル REST クライアントを使用して Elasticseacrh のノードの詳細を取得するにはどうすればよいですか。GET /_cat/nodesを使用して、KIbana でノードの詳細を取得できます。高レベルの残りのクライアントを使用して同じ詳細を取得する方法が必要です。ノードのIPアドレスと、そのマスターノードかどうかが必要です。

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

elasticsearch - あまりにも多くのスクロール コンテキストに対するクエリ

ES バージョン 6.4 を使用しており、7.4 にアップグレードしたいと考えています。スクロールを使用してページ分割された検索を実行するためのアップグレードをテストしているときに、次の問題に直面しています。

作成しようとしているスクロール コンテキストが多すぎます。[500] 以下である必要があります。この制限は、[search.max_open_scroll_context] 設定を変更することで設定できます。

500 のスクロール コンテキストしか開けないようです。

スクロールを開始すると、スクロール コンテキスト (コンテキスト A) が作成され、スクロール ID がコンテキスト (コンテキスト A) を指します。次のバッチを取得すると、新しいスクロール コンテキスト (コンテキスト B) が作成されます。同じスクロール ID を受け取っています (現在はコンテキスト B を指しています)。古いスクロール コンテキスト (コンテキスト A) はどうなりますか。それは閉じられ、すぐにGCされますか? それとも、スクロール時間が経過した後にのみ発生しますか? 古いスクロール コンテキストをクリアするにはどうすればよいですか? 古いコンテキスト (コンテキスト A) に関連付けられたスクロール ID は、新しいコンテキスト (コンテキスト B) を指しています。

この問題を回避するにはどうすればよいですか?

私たちのオプション:

  1. 設定でスクロール コンテキストを増やすことができます。スクロール コンテキストをより大きな数 (例: 10000) に増やした場合、何か問題はありますか?
  2. 使用したら、スクロール コンテキストをクリアします。後続のバッチを取得するために、同じスクロール ID が返されることを確認しました。古いバッチ用に作成されたスクロール コンテキストをクリアするにはどうすればよいですか?