java 连接solrcloud_Solr 14 - SolrJ操作SolrCloud集群 (Solr的Java API)

1 pom.xml文件的配置

2 SolrJ操作SolrCloud

public class SolrCloudTest {

// ZooKeeper地址

private static String zkHostString = "10.0.20.50:2181, 10.0.20.51:2181, 10.0.20.52:2181";

// collection默認名稱, 比如Solr服務器上的collection是collection_shard1_replica1, 就是去掉"_shard1_replica1"的名稱

private static String defaultCollection = "my_collection";

// 客戶端連接超時時間

private static int zkClientTimeout = 3000;

// ZooKeeper連接超時時間

private static int zkConnectTimeout = 3000;

// cloudSolrServer實際

private CloudSolrServer cloudSolrServer;

// 測試方法之前構造 CloudSolrServer

@Before

public void init() {

cloudSolrServer = new CloudSolrServer(zkHostString);

cloudSolrServer.setDefaultCollection(defaultCollection);

cloudSolrServer.setZkClientTimeout(zkClientTimeout);

cloudSolrServer.setZkConnectTimeout(zkConnectTimeout);

cloudSolrServer.connect();

}

// 向SolrCloud中創建索引

@Test

public void testCreateIndexToSolrCloud() throws Exception {

SolrInputDocument document = new SolrInputDocument();

document.addField("id", "100001");

document.addField("title", "李四");

cloudSolrServer.add(document);

cloudSolrServer.commit();

}

// 搜索索引

@Test

public void testSearchIndexFromSolrCloud() throws Exception {

SolrQuery query = new SolrQuery();

query.setQuery("*:*");

try {

QueryResponse response = cloudSolrServer.query(query);

SolrDocumentList docs = response.getResults();

System.out.println("文檔個數: " + docs.getNumFound());

System.out.println("查詢時間: " + response.getQTime());

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刪除

UpdateResponse response = cloudSolrServer.deleteById("zhangsan");

// 根據多個id刪除

// cloudSolrServer.deleteById(ids);

// 自動查詢條件刪除

// cloudSolrServer.deleteByQuery("product_keywords:教程");

// 提交

cloudSolrServer.commit();

}

}

版權聲明

作者: 馬瘦風

出處: 博客園 馬瘦風的博客

您的支持是對博主的極大鼓勵, 感謝您的閱讀.

本文版權歸博主所有, 歡迎轉載, 但請保留此段聲明, 並在文章頁面明顯位置給出原文鏈接, 否則博主保留追究相關人員法律責任的權利.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值