問題タブ [spring-data-elasticsearch]
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.
java - フィルターを使用した Spring データ ElastiSearch 集計
いくつかの条件でフィルタリングされた値に対して集計を実行しようとしています。私はSpringデータのElasticSearchTemplate.query()メソッドを使用してクエリを実行し、結果エクストラクタで結果を取得しています。ヒットを正しく取得しています (つまり、フィルターが適用され、それらの値に一致するドキュメントのみが取得されます)。ただし、集計はすべてのドキュメントに対して実行されます。集計はフィルタリングされた値にのみ適用する必要があると思います。以下は私が使用しているコードです:
問題をさらにデバッグするために、Spring データを使用するのではなく、クエリを実行するコードを記述しました。コードは次のとおりです。
驚いたことに、このクエリは正しく実行され、集計にもフィルタが適用されました。さらに分析するために、elasticsearchtemplate のコードを調べたところ、setPostFilter
メソッドを使用してフィルターを設定していることがわかりました。次に、コードを変更してフィルターをそのように設定しました。
上記のコードを実行したところ、スプリングデータと同じ挙動を示しました!(つまり、フィルターはクエリに適用されましたが、集計には適用されませんでした。これはSpring Data esのバグですか?そうでない場合、希望する方法でデータを取得するために使用する必要がある他の方法はありますか?
前もって感謝します。
java - Spring-data-elasticsearch のネストされたクエリが機能しない
Person.java
車.java
main メソッドを使用したインデックス作成と検索
インデックス作成は正常に機能していますが、機能的な検索は機能していません。
次の出力が得られます。
人物リスト : []
提案してください。前もって感謝します。
java - アナライザーなしでElasticsearchの複数の値が一致する
ElasticSearchに関する私の知識を許してください。次のようなドキュメントを含む Elasticsearch コレクションがあります。
これら 3 つの json ドキュメントは、ES サーバーでインデックス化されます。私はアナライザータイプを提供していません (また、提供する方法もわかりません:)) スプリングデータElasticsearchを使用し、次のクエリを実行して、地域「Masovian Voivodeship」または「Federal District」のドキュメントを検索しています:
2 ヒットを返すことを期待しています。ただし、3 つのドキュメントすべてが返されます (おそらく、3 つ目のドキュメントに地区があるため)。EXACT マッチを実行して 2 つのドキュメントのみを提供できるようにクエリを変更するにはどうすればよいですか? 私は次の方法を使用しています:
QueryBuilders.termsQuery
、QueryBuilders.inQuery
および(配列を使用して)試しQueryBuilders.matchQuery
ましたが、運がありません。
誰でも助けてもらえますか?前もって感謝します。
java - Spring Data Elasticsearch: 同じドキュメントを持つ複数のインデックス
私は spring-data-elasticsearch を使用していますが、最初はすべて正常に動作します。
私のモデルでは、製品を検索できます。
したがって、私の問題は、異なるインデックスに同じ Elasticsearch タイプがあり、すべてのクエリに同じドキュメントを使用したいということです。プールを介してより多くの接続を処理できますが、これを実装する方法がわかりません。
私はそのようなものを持ちたいです:
別のインデックスを使用して、実行時にリポジトリを作成することは可能ですか?
どうもありがとうマルセル
java - Elastic Search Spring データの楽観的同時実行制御
マニュアルによると、楽観的同時実行制御Elastic Search
API
を使用して同時実行を処理するメカニズムを提供します。
Elastic Search Java APIは、
setVersion()
setVersionType()
setRetryOnConflict()
UpdateRequest
クラスのメソッド。同じ操作を実行するために何かAPI/configuration
ありますか?Elastic Search Spring data
私が考えることができるオプションは、save()
メソッドをオーバーライドしElasticSearchRepository
てカスタム実装を提供することです。
そのルートを取る前に、これを処理するより良い方法はありますか。
使用されたバージョン: Elastic Search 1.3.2
、Spring Data Elastic Search 1.1.0
java - spring-data-elasticsearch Java api で 2 つのフィルターを使用して検索する
spring-data-elasticsearch Java api でフィルターを使用しようとしています。このような2つのフィールドに基づいてandFilterを使用して検索できることを理解しています
しかし、コードにはいくつかのif条件があるため、andFilterを直接使用して検索することはできません...この例を見てください
上記の方法でフィルターを使用すると、 and キーワードが適用されず、受け取った結果が正しくありません。私もこの方法でやろうとしましたが、どちらも役に立ちませんでした
if条件を使用するときにAND集計が常に適用されるようにするにはどうすればよいですか
java - Spring-Data を介して Key-Value 構造を Elasticsearch に保存する
Map を含む Spring-Data-Elasticsearch @Document アノテーションを使用してドキュメント (Java POJO) を保存する最良の方法についての情報が必要です
POJO がこの 1 番目のクラスで作成されるように、リポジトリを介してエラスティック検索インスタンスに保存できます。
これは、データを追加する方法です。追加する JSON フィールドを柔軟にしたいと考えています。これは、クライアント ソフトウェアから柔軟に対応できるためです。
私の問題は、.not_analyzed としてマークされた additionalFieldList のフィールドも必要であることです。(fe additionalFieldList.url, additionalFieldList.user_agent)。私は、マップ上の文字列の FieldIndex.not_analyzed アノテーションと同じ動作をしたいと思いますが、もちろんマップ内の値に対してのみです。
しかし、ドキュメントを保存しようとするとうまくいきません。醜い例外を受け取ります。
誰かが方法を知っている場合、またはelasticsearchでそのようなドキュメントを設計する方が良い方法を知っている場合、私はこの分野では新鮮で新しいので、コメントを聞きたいです。
以前はありがとう、そしてハンブルグからのご挨拶、
トミー・ジーグラー