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

elasticsearch - Elasticsearch クライアントが Elasticsearch ノードに接続できない

私はelasticsearchサービスが実行されているパブリックIPとプライベートIPを持つサーバーを持っていますプライベートIP10.x.x.xとパブリックIPは159.x.x.x

java.net.NoRouteToHostException: No route to hostしかし、ここで例外をスローするのはコードです

ここにスタックトレースがあります

ここで、10.xxx のログにプライベート IP が表示されません。この 10.17.0.8:9300 しか表示されません。また、この IP アドレスもelasticsearch クライアント コードとelasticsarch サービスが同じサーバーで実行されているかわかりません。私がしている間違いを指摘してください

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

java - ElasticSearch の script_upsert を使用してドキュメントを作成する

公式ドキュメントUpdate API - Upsertsscripted_upsertによると、スクリプト内で更新 (既存のドキュメントの場合) または挿入 (新しいドキュメントの場合) フォームを処理するために使用できます。問題は、それを行うためにスクリプトがどのように見えるべきかを決して示していないということです。Java - Update APIには、ScriptUpsert の使用に関する情報がありません。

これは私が使用しているコードです:

「testUser」ドキュメントが存在しない場合、次の例外が発生します。
DocumentMissingException[[user][testUser]: document missing

Java コードから scriptUpsert を機能させるにはどうすればよいですか?

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

elasticsearch - ElasticSearch Java API ソート集約

用語の集計があり、結果バケットを別のフィールド (日付) で並べ替える必要があります。または、最大 (およびトップ ヒット) と最小 (およびトップ ヒット) の 2 つのサブ集計を追加する必要があります。

これを可能にする API が見つかりませんでした。

メインタームの集計にmax subAggregation with top hitsを追加し、min with top hitsのサブアグリゲーションで別のtermアグリゲーションを作成できると思いますが、それは非常に重い作業になります。

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

java - Elasticsearch トランスポート クライアント接続

Elasticsearch に接続するサーブレットを使用して検索 Web アプリケーションを構築しています。ElasticsearchのTransportモジュールについて質問があります。ServletContextListener を実装するクラスで TransportClient を使用して、Elasticsearch への接続を開いています。以下は、ElasticsearchServletContextListener クラスのコードです。

ユーザーがクエリを検索するときはいつでも、ServletContextListener クラスで初期化された同じ「クライアント」接続を使用します。クライアント接続は同時に複数の要求を処理できますか? それとも、すべてのユーザーがelasticsearchにクエリを実行するために個別のクライアント接続が必要ですか? ご協力いただきありがとうございます。

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

elasticsearch - Elasticsearch - タイプと ID を CreateIndexResponse に追加する

インデックスの作成中に、次のものを使用できます。

しかし、フィールドが 1 つしかないこの 1 つのソース オブジェクトの indextypeとをどのように設定すればよいでしょうか。idtitle

編集

2 つのドキュメントを追加するように推奨されるように変更すると、IndexAlreadyExistsExceptionエラーが発生し続けます。

prepareCreateとのprepareIndex両方がインデックスを作成しているようです。ただし、必要なすべての設定を設定することは許可されていません:

  • シャード番号
  • レプリカ番号
  • 索引名
  • 索引タイプ
  • 新しいドキュメント ID。
  • -

これはどのように行うことができますか?

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

elasticsearch - 設定とソース Java API でインデックスを作成する方法がない

Java API を使用してソースと設定をセットアップする唯一の方法は、次のようなコードを使用することです (これは @test メソッドが 1 つだけの単純なテスト クラスです)。

これは、初めて実行するときに機能します。しかし、2回目に実行すると、次のようになります。

java.lang.IllegalStateException: ApplicationContext のロードに失敗しました

com.intellij.rt.execution.application.AppMain.main(AppMain.java:144) での java.lang.reflect.Method.invoke(Method.java:498) での invoke(DelegatingMethodAccessorImpl.java:43) 原因: 組織.springframework.beans.factory.UnsatisfiedDependencyException: 'bookServiceImpl' という名前の Bean の作成中にエラーが発生しました: メソッド 'setBookRepository' パラメーターを介して表現された満たされていない依存関係 0: 'bookRepository' という名前の Bean の作成中にエラーが発生しました: init メソッドの呼び出しに失敗しました。ネストされた例外は org.springframework.beans.BeanInstantiationException: インスタンス化に失敗しました [org.springframework.data.elasticsearch.repository.support.SimpleElasticsearchRepository]: コンストラクターが例外をスローしました。ネストされた例外は java.lang.IllegalArgumentException: com.intellij.rt.execution.application.AppMain.main(AppMain.java:144) での invoke(Method.java:498) 原因: org.springframework.beans.factory.UnsatisfiedDependencyException: 'bookServiceImpl' という名前の Bean の作成中にエラーが発生しました: メソッド 'setBookRepository' パラメーターで表現された満たされていない依存関係 0: 'bookRepository' という名前の Bean の作成中にエラーが発生しました: init メソッドの呼び出しに失敗しました。ネストされた例外は org.springframework.beans.BeanInstantiationException: インスタンス化に失敗しました [org.springframework.data.elasticsearch.repository.support.SimpleElasticsearchRepository]: コンストラクターが例外をスローしました。ネストされた例外は java.lang.IllegalArgumentException: com.intellij.rt.execution.application.AppMain.main(AppMain.java:144) での invoke(Method.java:498) 原因: org.springframework.beans.factory.UnsatisfiedDependencyException: 'bookServiceImpl' という名前の Bean の作成中にエラーが発生しました: メソッド 'setBookRepository' パラメーターで表現された満たされていない依存関係 0: 'bookRepository' という名前の Bean の作成中にエラーが発生しました: init メソッドの呼び出しに失敗しました。ネストされた例外は org.springframework.beans.BeanInstantiationException: インスタンス化に失敗しました [org.springframework.data.elasticsearch.repository.support.SimpleElasticsearchRepository]: コンストラクターが例外をスローしました。ネストされた例外は java.lang.IllegalArgumentException: UnsatisfiedDependencyException: 名前が 'bookServiceImpl' の Bean の作成中にエラーが発生しました: メソッド 'setBookRepository' パラメーターを介して表現された満たされていない依存関係 0: 名前が 'bookRepository' の Bean を作成中にエラーが発生しました: init メソッドの呼び出しに失敗しました。ネストされた例外は org.springframework.beans.BeanInstantiationException: インスタンス化に失敗しました [org.springframework.data.elasticsearch.repository.support.SimpleElasticsearchRepository]: コンストラクターが例外をスローしました。ネストされた例外は java.lang.IllegalArgumentException: UnsatisfiedDependencyException: 名前が 'bookServiceImpl' の Bean の作成中にエラーが発生しました: メソッド 'setBookRepository' パラメーターを介して表現された満たされていない依存関係 0: 名前が 'bookRepository' の Bean を作成中にエラーが発生しました: init メソッドの呼び出しに失敗しました。ネストされた例外は org.springframework.beans.BeanInstantiationException: インスタンス化に失敗しました [org.springframework.data.elasticsearch.repository.support.SimpleElasticsearchRepository]: コンストラクターが例外をスローしました。ネストされた例外は java.lang.IllegalArgumentException: springframework.beans.BeanInstantiationException: インスタンス化に失敗しました [org.springframework.data.elasticsearch.repository.support.SimpleElasticsearchRepository]: コンストラクターが例外をスローしました。ネストされた例外は java.lang.IllegalArgumentException: springframework.beans.BeanInstantiationException: インスタンス化に失敗しました [org.springframework.data.elasticsearch.repository.support.SimpleElasticsearchRepository]: コンストラクターが例外をスローしました。ネストされた例外は java.lang.IllegalArgumentException:[タイトル] のマッパーは、他のタイプの既存のマッピングと競合します: [マッパー [タイトル] には異なる [ストア] 値があります]; ネストされた例外は org.springframework.beans.factory.BeanCreationException: 'bookRepository' という名前の Bean の作成中にエラーが発生しました: init メソッドの呼び出しに失敗しました。ネストされた例外は org.springframework.beans.BeanInstantiationException: インスタンス化に失敗しました [org.springframework.data.elasticsearch.repository.support.SimpleElasticsearchRepository]: コンストラクターが例外をスローしました。ネストされた例外は java.lang.IllegalArgumentException: Mapper for [title] conflicts with existing mapping in other types: [mapper [title] has different [store] values] at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredMethodElement.inject

これを 2 回目に実行したときに、これが問題になるのはなぜですか?

以下を使用してインデックスを作成し、2 つの例示的なドキュメントを追加する方法:

  1. シャード番号
  2. レプリカ番号
  3. 索引名
  4. 索引タイプ
  5. 新しいドキュメント ID。

    Java API で?