問題タブ [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-data-elasticsearch でクエリ ログを有効にする方法
spring-data-elasticsearch フレームワークを使用して、elasticsearch サーバーからクエリ結果を取得します。Java コードは次のようになります。
Elasticssearchサーバーに送信された生のhttpクエリをどのように知ることができますか? ロギングを有効にするにはどうすればよいですか。log4j を追加しようとしましたが、spring-data-elasticsearch がクエリをログに記録していないようです。
java - Spring-data-elasticsearch でページクエリを無効にする方法
spring-data-elasticsearch フレームワークを使用して、elasticsearch サーバーからクエリ結果を取得します。Java コードは次のようになります。
次のように、サーバーで生のクエリ ログを取得します。
クエリ ログによると、spring-data-elasticsearch はクエリにサイズ制限を追加します。"from":0, "size":10
、サイズ制限を追加しないようにするにはどうすればよいですか?
elasticsearch - spring-data-elasticsearch さまざまなエンティティ/インデックスを検索する
ユーザーがさまざまなドメイン要素を検索し、結果を組み合わせたリストとして表示できるようにする機能を提供する必要があります。そのため、UI では、テキスト フィールドを 1 つだけ入力し、結果を取得する必要があります。
視覚化するには、ドメインに 3 つのエンティティがあると仮定します。
今、私は次のような要件を達成できると思いました:
しかし、実際のドキュメントを返す 2 番目の関数を呼び出すと、次の例外がスローされます。
インデックス名を識別できません。GlobalSearchDTO はドキュメントではありません。ドキュメント クラスに @Document(indexName="foo") の注釈が付けられていることを確認してください。
ドメインエンティティをクラス引数として渡そうとしましたが、すべてではなく、対応するインデックスから要素のみを取得しています。たとえば、次のように呼び出します。
'shop' インデックスからのみ要素を取得します。何らかの理由で動的に提供されるインデックスが使用されていないようです。
問題は、そのようなデータを取得することは可能ですか? '.withIndices("car", "garage", "shop")' を指定するだけでは不十分なのはなぜですか?
たぶん、次のような他のソリューションを検討する必要があります。
ループ内のインデックスを検索し (one bye one)、結果を結合してスコア順に並べ替えます
「globalsearch」インデックスを使用して個別の GlobalSearch エンティティを作成し
、そこにデータを複製します
前もって感謝します!
クシシュトフ
spring-data - 同じドメイン オブジェクトを持つ同じアプリで Spring Data JPA と Spring Data Elastichsearch を使用する
Spring Data JPA を利用して REST ベースのサービスを実装する Spring Boot アプリケーションがあります。ここで、Spring Data ElasticSearch を使用して全文検索機能を追加したいと考えています。Spring のすべての最新リリース バージョンを使用しています。
JPA リポジトリーと ElasticSearch リポジトリーを、互いに兄弟である異なるパッケージ (example.repository.jpa と example.repository.es) で定義しました。@RepositoryRestResource(exported = false)
REST 経由で ES のものを公開したくないので、ElasticSearch リポジトリを でマークしました。
ES リポジトリは、拡張されたインターフェイスとして定義され、ElasticsearchRepository<Domain, Long>
他には何もありません。
私が直面している問題は、アプリを起動すると、Spring Data Rest が混乱しているように見え、JPA リポジトリを公開する必要があるという事実を何らかの形で失っていることです。設定してみました
@EnableJpaRepositories("example.repository.jpa")
@EnableElasticsearchRepositories(basePackages = "example/repository/es")
構成を絞り込むためにメインアプリケーションクラスで実行しましたが、何も機能していません。
Domain オブジェクトは and とマークされて@Entity
おり@Document
、かなり単純な POJO です。
同じアプリケーションで同じ Domain オブジェクトを使用して Spring Data JPA と Spring Data Elasticsearch の両方を正常に使用した人はいますか? 誰かが共有したり、私に指摘したりできるサンプルコード/構成を持っていますか? これは正しい方法ですか?
spring - @Query が ElasticSearch Spring Java フレームワークで無視される
Elasticsearch を照会するために、このインターフェースを Spring で定義しています。フィルタリングを行うために @Query アノテーションを追加しました。
@Query アノテーションは完全に無視されます。ご覧のとおり、姓をハードコーディングしてみましたが、クエリの結果には影響しません。クエリ文字列の中かっこを削除しても、エラーは発生しません。クエリは引き続き機能し、フィルタリングは無視され、すべての一致が返されます。
誰かが私がここで間違っていることを理解するのを手伝ってくれますか?
elasticsearch - Spring Data REST が Elasticsearch で動作していないようです
Elasticsearch に Spring Data REST を使用しようとしています。POST 用の組み込み REST コントローラーが機能していないようです: ドキュメントを投稿しようとすると、エラーが発生します。この問題は簡単に再現できます: シンプルなエンティティを作成しました:
リポジトリ:
すべてのユーザーを取得しようとすると、次の応答が返されます。
しかし、ユーザーを追加しようとすると:
エラーが発生します:
コメントなしでこの課題に対して開かれた Jira チケットがあるようです: Jira 課題
Spring Data Elasticsearch の CRUD REST コントローラーを作成することを避けることができるかどうか疑問に思っていますか?
java - ElasticsearchRepository 動的 indexName
私のプロジェクトでは、クラスが ElasticsearchRepository を拡張しているときに、ElasticsearchRepository を使用しています。
indexName プロパティを動的に変更する方法はありますか? indexName は動的であるため、@Document を使用したくありませんか?