問題タブ [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.
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 サービスが同じサーバーで実行されているかわかりません。私がしている間違いを指摘してください
java - ElasticSearch の script_upsert を使用してドキュメントを作成する
公式ドキュメントUpdate API - Upsertsscripted_upsert
によると、スクリプト内で更新 (既存のドキュメントの場合) または挿入 (新しいドキュメントの場合) フォームを処理するために使用できます。問題は、それを行うためにスクリプトがどのように見えるべきかを決して示していないということです。Java - Update APIには、ScriptUpsert の使用に関する情報がありません。
これは私が使用しているコードです:
「testUser」ドキュメントが存在しない場合、次の例外が発生します。
DocumentMissingException[[user][testUser]: document missing
Java コードから scriptUpsert を機能させるにはどうすればよいですか?
elasticsearch - ElasticSearch Java API ソート集約
用語の集計があり、結果バケットを別のフィールド (日付) で並べ替える必要があります。または、最大 (およびトップ ヒット) と最小 (およびトップ ヒット) の 2 つのサブ集計を追加する必要があります。
これを可能にする API が見つかりませんでした。
メインタームの集計にmax subAggregation with top hitsを追加し、min with top hitsのサブアグリゲーションで別のtermアグリゲーションを作成できると思いますが、それは非常に重い作業になります。
java - Elasticsearch トランスポート クライアント接続
Elasticsearch に接続するサーブレットを使用して検索 Web アプリケーションを構築しています。ElasticsearchのTransportモジュールについて質問があります。ServletContextListener を実装するクラスで TransportClient を使用して、Elasticsearch への接続を開いています。以下は、ElasticsearchServletContextListener クラスのコードです。
ユーザーがクエリを検索するときはいつでも、ServletContextListener クラスで初期化された同じ「クライアント」接続を使用します。クライアント接続は同時に複数の要求を処理できますか? それとも、すべてのユーザーがelasticsearchにクエリを実行するために個別のクライアント接続が必要ですか? ご協力いただきありがとうございます。
elasticsearch - Elasticsearch - タイプと ID を CreateIndexResponse に追加する
インデックスの作成中に、次のものを使用できます。
しかし、フィールドが 1 つしかないこの 1 つのソース オブジェクトの indextype
とをどのように設定すればよいでしょうか。id
title
編集
2 つのドキュメントを追加するように推奨されるように変更すると、IndexAlreadyExistsException
エラーが発生し続けます。
prepareCreate
とのprepareIndex
両方がインデックスを作成しているようです。ただし、必要なすべての設定を設定することは許可されていません:
- シャード番号
- レプリカ番号
- 索引名
- 索引タイプ
- 新しいドキュメント ID。 -
これはどのように行うことができますか?
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 つの例示的なドキュメントを追加する方法:
- シャード番号
- レプリカ番号
- 索引名
- 索引タイプ
新しいドキュメント ID。
Java API で?