2017-10-08 15 views
1

私は最近、自分のプロジェクトの1つにelasticsearchを含めることを試みました。したがって、私はそうするためにさまざまな可能性を探しました。基本的には、a)トランスポートクライアント(内部プロトコルクラスタノードも通信に使用する=私の理解)またはb)すべてを自分でREST HTTP呼び出しとして実装することです。現在のelasticsearchバージョンのSpringブートアプリケーション

b)は良い選択肢のようには見えず、とにかく私はspring-data-elasticsearchを使ってみましたが、これは最近、バージョン5.5.0をサポートするためにバージョン3.0.0に更新されました。最後のバージョンが非常に古いように素晴らしい。

まあ、私はすべてを試みたが、これは本当にあなたが入る依存地獄のいくつかの種類のようだとして、それは私のプロジェクトで動作するように取得するために管理していませんでした。私のプロジェクトは大きすぎます。新しいspring-data-elasticsearchバージョンをサポートするために必要と思われるスプリングブート2.0.0M4にアップグレードすることはできません。

だから、誰かが今のところ、現在および好ましい方法にアドバイスをしてくださいと未来は春のプロジェクトでelasticsearchに対処する方法にあるだろうか?実際にREST API全体を自分で実装する必要がありますか?何か不足していますか?使用したものがある場合

Here、右、使用すべきであるRESTクライアントですか?

Thisは古いです、私が知っている、互換性チャートです。

ありがとうございます!

答えて

2

は残念ながらかなりの数の選択肢がそこにあります

  • あなたが言及しているトランスポート・クライアントがあります。非難されていませんが、それは進歩的な方法ではなく、私はそれを使って新しいプロジェクトを開始しません(可能な場合)。
  • 5.0で追加された低レベルのRESTクライアント(あなたがリンクしているブログ記事に記載されています)がありますが、古いバージョンと互換性があります。それが動作している間、あなたは本当にそれを使用したくない、それはかなり低いレベルです(名前が示すように)。
  • 上位レベルのRESTクライアントにはjust been released with 5.6-があります。これはを使用したい(これは特定のSpringブート/データバージョンからデカップリングします)。現在、インデックス、削除、集約、検索、およびバルクAPIのみをサポートしていますが、通常の操作ではこれで十分です。将来的にはより多くのAPIが追加され、(統合テストの特定のマッピングを設定するなどの)他のタスクを実行する必要がある場合は、常に低レベルのクライアントにフォールバックすることができます。
  • Spring Data Kayのリリースでは、Elasticsearch 5.xもサポートされています。 Springデータを使用する必要がある場合は、これを使用することをお勧めしますが、コミュニティプロジェクトであり、開発が誰よりも遅くなる可能性があることに留意してください(プルリクエストを受け入れますが)。あなたが発見したように、Spring Data Kayを組み込むには、Spring Boot 2を使用する必要があります。これは、アップグレードするのが良い理由かもしれません。
+0

ありがとうございます。それはオプションの良い要約です。あなたが提案したものと一緒に行くつもりだと思う。基本的に私は多くの記事を索引付けし、このベクトルやタームベクタのクエリのように実行し、データをすべて取得しなければなりません(ある程度フィルタリングされました。フィールドAはVALUE_1またはVALUE_2などでなければなりません)。 – Omegavirus

1

どのように最新のES依存して、春ブーツ2でスタンドアロンアプリケーションとなり、小さなサービスを書いて、それをプロジェクトの残りのための要件と互換性のREST APIを与えてはどうですか?初心者にはRestTemplateを介して通信することができます。あなたは小さなサブプロジェクトにあなたの大規模なプロジェクトを解体開始し、最終的には多分microservicesでき

この方法です。また、スプリングブート2には本当に素晴らしい反応オプションがあり、実際にデータを処理するのに便利です。

+0

ありがとうございます。私はすでにそのような抽象化を行っていますが、あなたのアプローチが必要以上にオーバーヘッドを増やすと思います。プロジェクトが将来新しいスプリングリリースにアップグレードされれば、最終的には、最終的にはアップグレードされません。しかし、現時点では、両方を実装する必要があることを意味します。私自身のRESTインターフェースと、単にelasticsearchのことをする新しい「アプリ」。 – Omegavirus

関連する問題