問題タブ [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.
spring - Spring Data Elasticsearch には id という名前のプロパティが必要です
私はSpring Data Elasticsearchで作業を開始し、問題を見つけました。リポジトリを介して findAll() を呼び出している実行テスト中に、次の結果が得られます。
プロジェクト エンティティにフィールドを追加する@Transient private Long id;
と、結果を正しく取得できます。しかし、という名前の主キーを既に定義しているため、このフィールドを追加したくありませんprojectId
。そのフィールドにも注釈@Id
があるのに、なぜ私のフィールドprojectId
が ID として扱われないのですか? @Id
spring-data-elasticsearch でアノテーションが機能していないようですが、可能ですか?
id
エンティティに一時フィールドを追加しないようにするにはどうすればよいですか? それは解決策というよりは回避策のようなものです...
プロジェクト クラス:
リポジトリ:
テスト:
構成 (test-es-context.xml):
spring-batch - Elasticsearch スキャンおよびスクロール用の spring-batch ItemReader
spring-batch では、スキャンとスクロール機能を使用した Elasticsearch ItemReader のサポートはありますか? この拡張機能が表示されますが、これは通常の spring-data 検索クエリに基づいています。バッチジョブは主に大量のデータバッチを処理する必要があるため、スキャンとスクロール機能に基づいたものがあると便利です. ありがとう。
spring-data-elasticsearch - Spring Data Elastic Search の集計サポート
エラスティック検索はファセットを廃止し、集約を使用することを推奨しています ( http://www.elastic.co/guide/en/elasticsearch/reference/1.x/search-aggregations.html ) 。
Spring Data Elastic Search は現在これをサポートしていますか?
はいの場合、利用可能なサンプルはありますか?
spring - SpringデータelasticSearchはfindOneでnullを返します
私はelasticSearchでSpringデータをテストしています。ES サーバーは、同じ部屋のリモート サーバーで実行されています。
エイリアスの下に、1 日に 1 つのインデックスを作成しています。シンプルなツイートを探しています。しかし、 a を試してみると、findOne()
常に が返されるため、うまくいかないようですnull
。
また、findAll(ids)
エイリアスを使用しているため機能しませんが、ドキュメントでこれを処理する方法が見つかりません。
何を達成したいですか?
さしあたっては、指定されたid_str
.
count メソッドは機能しますが、findOne は機能しません
ここに私の質問が
あります 動作
させるにはどうすればよいfindOne()
ですか?
このエイリアスで複数のインデックスを検索するには、どの方法を使用すればよいですか?
ESでデータがどのように見えるかを次に示します
私のモデル
エイリアスはalias
、インデックスはalias_dd-mm-yyyy
私のリポジトリ
私のテスト
もちろん、テスト済みの ID を持つツイートは存在します :)。そして、count()
正常に動作しています。
ご協力いただきありがとうございます
編集
これが私が持っているもののサンプルアプリケーションです: https://github.com/ogdabou/es-stackoverflow-sample
spring-data-elasticsearch は、フィールド「id_str」ではなく、フィールド「_id」を探しているようです。メソッドの解析が原因かもしれません(そこを見てください)。json の「id_str」属性を idStr Java モデルにバインドする方法を探しています。
elasticsearch - Elasticsearch マルチマッチ完全一致ブースティング
春のデータ弾性検索を使用します。マルチマッチ クエリを使用して、複数のフィールドを検索します。
フレーズ一致には PHRASE_PREFIX を使用します。
ここで、nickName の完全一致のブーストを追加したいと思います (完全一致の場合のみブースト)。
たとえば、Phone を検索するときに、nickName に完全に一致するものがある場合は、結果の最初に並べる必要があります。完全に一致するものがない場合は、firstName をブーストする必要があります。以下のようにブーストしてみました。
ブーストが機能していないようです。また、フィールドの完全一致でのみブースティングを追加する方法もわかりません。
ありがとう
spring - SpringデータelasticSearch:エイリアスを使用してエンティティを更新
私は現在spring-data-elasticsearch
APIと戦っています。いくつかのインデックスが指しているエイリアスで動作する必要があります。
各インデックスには同じタイプが格納されていますが、日々のストレージにのみ使用されます (最初のインデックスは月曜日の結果、2 番目のインデックスは火曜日の結果です....)。
エイリアスが原因で一部のElasticsearchRepository
メソッドが機能しません。現在、なんとか検索 ( findOne() equivalent
) を実行できましたが、エンティティを更新できません。
それを達成する方法がわかりません。ドキュメントとサンプルを調べましたが、行き詰まっています。
私のリポジトリ
私のエンティティ
私がテストしたこと
mapping - spring-data-elasticsearch - @Field / FieldIndex.not_analyzed は無視されました
spring-data-elasticsearch 1.1.2 を使用しています。Java アノテーションを使用して、フィールドを分析しないように指定しようとしています。
次の注釈を使用します。 @Field(index = FieldIndex.not_analyzed) private String category;
生成されたマッピングには、このフィールドの "index":"not_analyzed" は含まれません。
これを行う方法について役立つドキュメントを見つけることができませんでしたが、うまくいくようです。
それはうまくいくはずですか?詳細情報はどこで入手できますか? どのようにデバッグするのが最善ですか?
ありがとうございました。
更新: 最新の 1.2.0 バージョンにも問題があります。