Solr操作Solrcloud
1,获取CloudSolrClient
private static final String zkhost = "localhost:2181,localhost:2182,localhost:2183";
private static final String defaultCollection="eSearch"; //创建的collection的name值
private static final int zkClientTimeOut = 20000;
private static final int zkConnectTimeOut = 1000;
public static CloudSolrClient getServer(){
CloudSolrClient client = new CloudSolrClient(zkhost);
client.setDefaultCollection(defaultCollection);
client.setZkClientTimeout(zkClientTimeOut);
client.setZkConnectTimeout(zkConnectTimeOut);
client.connect();
return client;
}
2,SolrCloud添加索引
public static void main(String[] args) throws IOException, SolrServerException {
CloudSolrClient client = CloudSolrServer.getServer();
SolrInputDocument doc1 = new SolrInputDocument();
doc1.addField("id","001");
doc1.addField("name_s","张三");
doc1.addField("age_i",12);
SolrInputDocument doc2 = new SolrInputDocument();
doc2.addField("id","002");
doc2.addField("name_s","李四");
doc2.addField("age_i",11);
Collection<SolrInputDocument> collection = new ArrayList<SolrInputDocument>();
collection.add(doc1);
collection.add(doc2);
client.add(collection);
client.commit();
}
3,SolrCloud查询索引
CloudSolrClient solrClient = CloudSolrServer.getServer();
SolrQuery query = new SolrQuery();
query.setQuery("*:*");
try {
QueryResponse string= solrClient.query(query);
SolrDocumentList result = string.getResults();
System.out.println(result.getNumFound()+"文档个数");
System.out.println(result.getMaxScore());
System.out.println(result.getStart());
System.out.println(string.getQTime()+"查询响应时间");
result.forEach(u->{
System.out.println(u.getFieldValue("name_s")+"---"+u.getFieldValue("age_i"));
});
} catch (SolrServerException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
4,SOlrCloud删除索引
CloudSolrClient solrClient = CloudSolrServer.getServer();
try {
solrClient.deleteById("001");
solrClient.commit();
} catch (SolrServerException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}

浙公网安备 33010602011771号