2013-05-29 52 views
1

我想在Spring上實現一個與我當前的Solr或SolrCloud交互的應用程序。我考慮使用Spring Data Solr或不使用。但是我認爲,沒有在它尚未在另一方面實現,如果我只是運行一個這樣的查詢CloudSolrServer:使用Spring Solr數據還是非靈活請求像備份一樣?

http://localhost:8983/solr/replication?command=backup 

,並檢查備份是否結束(我會做一個GET請求,解析JSON並會看到最後的備份時間是否改變)我如何將它與Spring Data Solr集成?我的意思是使用Spring + Solrj而不是Spring Data Solr在我的情況下更有意義(這是我想做更靈活的事情,只是在Spring上對Solr進行CRUD操作)?

回答

0

確實,CloudSolrServer還沒有支持。你可以做的是提供你自己的SolrServerFactory。

public class CloudSolrServerFactory implements SolrServerFactory { 

    private final CloudSolrServer solrServer; 

    public CloudSolrServerFactory(String zkHost) throws MalformedURLException{ 
    this.solrServer = new CloudSolrServer(zkHost); 
    } 

    @Override 
    public SolrServer getSolrServer() { 
    return this.solrServer; 
    } 

    @Override 
    public String getCore() { 
    return ""; 
    } 
} 

下一頁爲Section 1.3 of Spring Data Commons文檔描述,你可以添加自定義行爲,所有的存儲庫。看看this(不是實現您的問題,而是定製存儲庫的一般用法),以瞭解它如何工作。

請隨意打開一個功能請求,因爲這肯定是缺少Spring Data Solr的東西。

+0

SolrServerFactory使用solrj 4.1.0如何將其更改爲新版本? – kamaci

+0

@kamaci使用maven只是將'solrj'從'spring-data-solr'中排除,並且添加了對所需版本的依賴關係 –

+0

以下是對此功能的要求:https://jira.spring.io/browse/DATASOLR-211 –