2015-11-05 10 views
5

でelasticsearchとの対話私は新しいプロジェクトのためelasticsearchを使用したいと私の研究から3つの実行可能な解決策があるように思われる:ジャンゴ

  1. いけないラッパーを使用してelasticsearch
  2. 使用elasticsearch-と直接通信PY
  3. 使用elasticsearch-DSL-PY

それが依存関係を必要としないと、私は反対しwrappeのようなネイティブ構文/ APIを学習に集中できるので、私は解決策1が好きrは2または3のようになります.1より2または3を使用する説得力のある理由はありますか?

更新

それは、接続プーリングと持続性のような様々な利点がありますように私はelasticsearch-PYを使用して終了。私はelasticsearch-dsl-pyがあまりにも抽象的で冗長であることを発見しました

+0

なぜhaystackですか? –

+0

@SandervanLeeuwen私は、elasticsearchでHaystackを使用して問題を詳述する多数のブログに出くわしました – RunLoop

答えて

3

公式のPythonクライアントが利用可能な場合、Elasticsearchと直接話す理由はないことをお勧めします。 Pythonクライアントは、あなたのために大変な作業をします。そうしないと、PythonデータをESに変換したり、その逆に多くの時間を費やしたりします。 elasticsearch-dsl-pyelasticsearch-pyの間の選択に関しては

elasticsearch-dsl-pyQuery DSL(プラスいくつか他のもの)のラッパーです。 Elasticsearch API全体にアクセスすることはできません(例:Cluster APIIndices APIBulk APIなど)。これは、ドキュメントに書かれています:

他Elasticsearch APIを使用するにはちょうど 基礎となるクライアントを使用する(例えば、クラスタ健康。)。

大規模なアプリケーションでは両方のライブラリを使用する必要があります。 elasticsearch-dsl-py自体はelasticsearch-pyを使用します。

私はHaystackについてのあなたの意見に同意します - それはElasticsearchのバックエンドは、多くの欲望を残す。