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

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

java - フィルターを使用した Spring データ ElastiSearch 集計

いくつかの条件でフィルタリングされた値に対して集計を実行しようとしています。私はSpringデータのElasticSearchTemplate.query()メソッドを使用してクエリを実行し、結果エクストラクタで結果を取得しています。ヒットを正しく取得しています (つまり、フィルターが適用され、それらの値に一致するドキュメントのみが取得されます)。ただし、集計はすべてのドキュメントに対して実行されます。集計はフィルタリングされた値にのみ適用する必要があると思います。以下は私が使用しているコードです:

問題をさらにデバッグするために、Spring データを使用するのではなく、クエリを実行するコードを記述しました。コードは次のとおりです。

驚いたことに、このクエリは正しく実行され、集計にもフィルタが適用されました。さらに分析するために、elasticsearchtemplate のコードを調べたところ、setPostFilterメソッドを使用してフィルターを設定していることがわかりました。次に、コードを変更してフィルターをそのように設定しました。

上記のコードを実行したところ、スプリングデータと同じ挙動を示しました!(つまり、フィルターはクエリに適用されましたが、集計には適用されませんでした。これはSpring Data esのバグですか?そうでない場合、希望する方法でデータを取得するために使用する必要がある他の方法はありますか?

前もって感謝します。

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

java - Spring-data-elasticsearch のネストされたクエリが機能しない

Person.java

車.java

main メソッドを使用したインデックス作成と検索

インデックス作成は正常に機能していますが、機能的な検索は機能していません。
次の出力が得られます。

人物リスト : []

提案してください。前もって感謝します。

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

java - アナライザーなしでElasticsearchの複数の値が一致する

ElasticSearchに関する私の知識を許してください。次のようなドキュメントを含む Elasticsearch コレクションがあります。

これら 3 つの json ドキュメントは、ES サーバーでインデックス化されます。私はアナライザータイプを提供していません (また、提供する方法もわかりません:)) スプリングデータElasticsearchを使用し、次のクエリを実行して、地域「Masovian Voivodeship」または「Federal District」のドキュメントを検索しています:

2 ヒットを返すことを期待しています。ただし、3 つのドキュメントすべてが返されます (おそらく、3 つ目のドキュメントに地区があるため)。EXACT マッチを実行して 2 つのドキュメントのみを提供できるようにクエリを変更するにはどうすればよいですか? 私は次の方法を使用しています:

QueryBuilders.termsQueryQueryBuilders.inQueryおよび(配列を使用して)試しQueryBuilders.matchQueryましたが、運がありません。

誰でも助けてもらえますか?前もって感謝します。

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

java - Spring Data Elasticsearch: 同じドキュメントを持つ複数のインデックス

私は spring-data-elasticsearch を使用していますが、最初はすべて正常に動作します。

私のモデルでは、製品を検索できます。

したがって、私の問題は、異なるインデックスに同じ Elasticsearch タイプがあり、すべてのクエリに同じドキュメントを使用したいということです。プールを介してより多くの接続を処理できますが、これを実装する方法がわかりません。

私はそのようなものを持ちたいです:

別のインデックスを使用して、実行時にリポジトリを作成することは可能ですか?

どうもありがとうマルセル

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

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.2Spring Data Elastic Search 1.1.0

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

java - spring-data-elasticsearch Java api で 2 つのフィルターを使用して検索する

spring-data-elasticsearch Java api でフィルターを使用しようとしています。このような2つのフィールドに基づいてandFilterを使用して検索できることを理解しています

しかし、コードにはいくつかのif条件があるため、andFilterを直接使用して検索することはできません...この例を見てください

上記の方法でフィルターを使用すると、 and キーワードが適用されず、受け取った結果が正しくありません。私もこの方法でやろうとしましたが、どちらも役に立ちませんでした

if条件を使用するときにAND集計が常に適用されるようにするにはどうすればよいですか

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

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でそのようなドキュメントを設計する方が良い方法を知っている場合、私はこの分野では新鮮で新しいので、コメントを聞きたいです。

以前はありがとう、そしてハンブルグからのご挨拶、

トミー・ジーグラー