1.pom依赖
<dependency>
<groupId>org.apache.solr</groupId>
<artifactId>solr-solrj</artifactId>
<version>7.5.0</version>
</dependency>
2.代码
package com.k.hbase.test; import org.apache.solr.client.solrj.SolrQuery; import org.apache.solr.client.solrj.SolrServerException; import org.apache.solr.client.solrj.impl.CloudSolrClient; import org.apache.solr.client.solrj.response.QueryResponse; import org.apache.solr.client.solrj.response.UpdateResponse; import org.apache.solr.common.SolrDocument; import org.apache.solr.common.SolrDocumentList; import org.apache.solr.common.SolrInputDocument; import org.junit.Before; import org.junit.Test; import java.util.ArrayList; import java.util.List; import java.util.Optional; public class TestConnectionSolrCloud { // ZooKeeper集群地址 private static String zkHostString1 = "192.168.1.1:2181"; private static String zkHostString2 = "192.168.1.1:2181"; private static String zkHostString3 = "192.168.1.1:2181"; // collection名称 private static String defaultCollection = "test"; // 客户端连接超时时间 private static int zkClientTimeout = 5000; // ZooKeeper连接超时时间 private static int zkConnectTimeout = 5000; // 连接 private CloudSolrClient cloudSolrClient; // 初始化cloudSolrClient @Before public void init() { List<String> zkServers=new ArrayList<>(); zkServers.add(zkHostString1); zkServers.add(zkHostString2); zkServers.add(zkHostString3); cloudSolrClient=new CloudSolrClient.Builder(zkServers, Optional.empty()).build(); cloudSolrClient.setDefaultCollection(defaultCollection); cloudSolrClient.setZkClientTimeout(zkClientTimeout); cloudSolrClient.setZkConnectTimeout(zkConnectTimeout); cloudSolrClient.connect(); } // 创建索引 @Test public void testCreateIndexToSolrCloud() throws Exception { SolrInputDocument document = new SolrInputDocument(); document.addField("id", "666666"); document.addField("title", "测试添加索引1");//solr中必须先创建这个字段否则会出现[测试添加索引1] cloudSolrClient.add(document); cloudSolrClient.commit(); } // 搜索索引 @Test public void testSearchIndexFromSolrCloud() throws Exception { SolrQuery query = new SolrQuery(); query.setQuery("*:*"); try { QueryResponse response = cloudSolrClient.query(query); SolrDocumentList docs = response.getResults(); System.out.println("结果数: " + docs.getNumFound()); for (SolrDocument doc : docs) { ArrayList title = (ArrayList) doc.getFieldValue("title"); String id = (String) doc.getFieldValue("id"); System.out.println("id: " + id); System.out.println("title: " + title); System.out.println(); } } catch (SolrServerException e) { e.printStackTrace(); } catch (Exception e) { System.out.println("Unknowned Exception!!!!"); e.printStackTrace(); } } // 删除索引 @Test public void testDeleteIndexFromSolrCloud() throws Exception { // 根据id删除 cloudSolrClient.deleteById("100001"); // 自动查询条件删除 // cloudSolrClient.deleteByQuery("product_keywords:教程"); // 提交 cloudSolrClient.commit(); } }