我們計劃爲我們的數據庫實現分片,並且也希望爲分片提供Solr搜索。 (對於使用「like」,「order by」,「group by」等的查詢)帶分片的Solr,Hibernate和QueryDSL
哪種設計最適合這種設計?
我檢查了其中的一些,我無法決定其中的任何一個。
1)Hibernate Shards - 雖然Hibernate的主頁面非常明確地列出,但似乎並未被主動支持。
2)SolrJ - 看起來不錯,但是如何將我的QueryDSL查詢轉換爲Solr查詢?
3)SolrCloud - 同樣的問題SolrJ
4)Hibernate的搜索 - 允許我使用QueryDSL,但是這意味着我必須要管理分片功能自己,因爲在這種情況下,Lucene的將被用來作爲一個庫。所以每一個分片都會有自己的Lucene句柄,並且讓他們手動分片是一件很痛苦的事情(例如,合併「幾個分片的結果」,SolrCloud會自動爲我做這件事)。
5)Elasticsearch - 看起來非常相似,SolrCloud(又名Solr的4.0)
所以基本上,我的問題歸結爲:
如何使用QueryDSL一些Lucene的產品,它支持拆分出來的框。 (注意:我很滿意SolrCloud或ElasticSearch提供的默認分片策略)。
我不想寫一個轉換器將QueryDSL查詢轉換爲SolrCloud/ElasticSearch的HTTP get/put請求。
這個問題不知何故讓我想起https://twitter.com/codinghorror/status/347070841059692545 –