データベースにシャーディングを実装する予定であり、Solr 検索もシャードに提供したいと考えています。(「like」、「order by」、「group by」などを使用するクエリの場合)
この種の設計に最適なツールはどれですか?
私はこれらのいくつかをチェックしましたが、それらのいずれかを決定することはできません.
1) Hibernate Shards - Hibernate のメイン ページに明示的にリストされていますが、積極的にサポートされているようには見えません。
2) SolrJ - 良さそうに見えますが、QueryDSL クエリを Solr クエリに変換するにはどうすればよいですか?
3) SolrCloud - SolrJ と同じ問題
4) Hibernate Search - QueryDSL を使用できますが、この場合は Lucene がライブラリとして使用されるため、シャーディング機能を自分で管理する必要があります。したがって、すべてのシャードには独自の Lucene ハンドルがあり、手動でシャードを認識させるのは面倒です (たとえば、複数のシャードからの「順序付け」結果をマージする場合。SolrCloud はこれを自動的に行うと思います)。
5) Elasticsearch - SolrCloud (別名 Solr 4.0) と非常によく似ています。
つまり、基本的に、私の質問は次のようになります。
追加設定なしでシャーディングをサポートする一部の lucene 製品で QueryDSL を使用するにはどうすればよいですか。(注: SolrCloud または ElasticSearch によって提供されるデフォルトのシャーディング戦略に満足しています)。
QueryDSL クエリを SolrCloud/ElasticSearch の HTTP get/put リクエストにモーフィングするためのコンバーターを書きたくありません。