2013-12-10 35 views
3

我們正在使用SolrJ構建Solr上的包裝。Solrj API /示例集合

這個包裝將允許客戶端指定一個集合名稱,然後與該集合進行交互,以使用SolrJ包裝進行插入/更新/查詢。

我已經能夠做插入/更新/查詢操作,但一直未能找到任何指定集合名稱的SolrJ API /示例。

它使用SolrJ作爲客戶端不需要直接編寫字符串操作的Solr查詢。

此外,我們希望使用集合,以便每個客戶都有自己的索引,並且與其他客戶的文檔保持不同。

任何人都可以指向SolrJ collection example/API嗎?

+0

有你看了一下[彈簧數據-solr](https://github.com/spring-projects/spring-data-solr)呢?您可以使用'SolrTemplate'以及fluet標準API或嘗試'SolrCrudRepository'。 –

回答

3
import org.apache.solr.client.solrj.impl.CloudSolrServer; 
import org.apache.solr.common.SolrInputDocument; 

CloudSolrServer server = new CloudSolrServer("localhost:9983"); 
server.setDefaultCollection("collection1"); 
SolrInputDocument doc = new SolrInputDocument(); 
doc.addField("id", "1234"); 
doc.addField("name", "A lovely summer holiday"); 
server.add(doc); 
server.commit(); 

從Solj文檔:http://wiki.apache.org/solr/Solrj

+0

謝謝阿倫。我可以有多個線程寫入相同的SolrCloud,但不同的集合?我會做我的實驗來驗證這一點,但一個已知答案的啓動會幫助我很多。 – user2250246

+0

另外,如果我們同時寫入SolrCloud,那麼是否有辦法將ConcurrentUpdateSolrServer功能與CloudSolrServer一起使用,或者CloudSolrServer如何處理併發? – user2250246

+0

但是如果我們每次添加文檔時都需要添加更改集合,那該怎麼辦?可以通過API完成,還是應該在發佈到CloudSolrServer的URL中完成? – user1965449

2

有人誰不聚類的Solr(無動物園管理員),只是實例SolrServer這樣的:

SolrServer solr = new HttpSolrServer("http://localhost:8983/solr/myCollection");