調査先は、公式サイトのドキュメントからおよび竹添・島本さん。
- Scala力が発揮できない(コレクション、Future/Promise)
- クライアントだけでなくサーバ実装も全部入り(以下の依存したライブラリも同じ状況)
- ネイティブアクセス(elasticsearch://)
elasticsearch
本体がベース- 曰く、Typesafe concise DSL, Reactive / Scala futures, Scala collections, Leverages Java library, SQL-style requests とのこと
- Jacksonは必要な場合だけ依存関係に追加
- ネイティブアクセス(elasticsearch://)
elasticsearch
本体は利用せず。通信はdispatch。ヘルパーでscala-uri
を利用- 非常にシンプルで操作毎のHTTP通信部分があるのみ
- 名前は盆栽にかけている?
- HTTPアクセス
- ベースは
elasticsearch
本体のみ - 非常にシンプルで通信をFutureでラップしているだけ
- ネイティブアクセス(elasticsearch://)
elasticsearch
本体がベース- 残念ながら0.90でメンテが止まっている
- BizReach内部で利用されているクライアント
- 兄弟ツールのelasticsearch4s-genですでにあるインデクスから case class をリバースできるのがポイント
- ベースは純正Javaクライアント、通信はasync-http-client、JSONはJackson
- HTTPでアクセス
- プロトコルがネイティブかHTTPかは大きな判断箇所
- アクセスの種類が様々で多くのコードを書くのであればSQLらいくなDSLが充実している
elastic4s
がよいかも - インデクス開発ドリブンで後からクライアント側を開発する状況なら、リバースできる
elasticsearch4s
がよいかも - どれにも当てはまらないなら、
wabisabi
やesclient
を見て自作すれば良いかも
新しいの出てきたので貼っておきますね
https://github.com/runarorama/schnauzer