問題タブ [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 に答える
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 がスクリプトを介してのみ更新を提供することを知って、ドキュメント全体を更新するにはどうすればよいですか?

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

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

java - apache-common-lang3 を使用した ClassNotFoundException

Elasticsearch Jest クライアントを使用して独自のクライアント アプリを作成しています。

私はこの
java.lang.ClassNotFoundException を取得し続けます: org.apache.commons.lang3.StringUtils

ビルドパスにすべての JAR を含めましたが。

行った活動:

  1. Mavenを無効にし、すべてのJARSを手動で追加しました
  2. 3.3.2 の上に apache-common-lang-2.6 を追加
  3. 日食のクリーンアップ/再起動

何もありません:(

エラーのあるスクリーンショット:
エラーのあるスクリーンショット

エラーメッセージ:

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

elasticsearch - ES - JEST を使用した Percolate クエリの保存

私は ES バージョン 1.5.2 を使用しており、JEST ラッパーを介して Java API を利用しています。いくつかのパーコレート クエリを作成し、それらをインデックスに格納したいと考えています。

いくつかの場所で、パーコレート クエリを任意のインデックスに格納できることを示唆する構文を目にしますが、型は「.percolator」型でなければなりません。他の場所では、クエリを「_percolator」と呼ばれる特別なインデックスに格納する必要があることを見てきました。

  • パーコレート クエリはどこに保存する必要がありますか?
  • 通常のドキュメントと同様に、クエリをインデックスに保存する必要がありますか?

以下は私が試したコードのスニペットですが、うまくいきません。