solr java 客户端

java 连接 solr

solr 的客户端编码与lucene十分相似,不多说直接上代码。

添加maven 依赖

	       <dependency>
		  <groupId>org.apache.solr</groupId>
		  <artifactId>solr-solrj</artifactId>
		  <version>7.3.0</version>
		</dependency>

查询:

private static String zkServerUrl = "192.168.154.138:9983";

	public static SolrClient getCloudSolrClient() {
		List<String> zkHosts = new ArrayList<String>();
		zkHosts.add(zkServerUrl);
		Optional<String> zkChroot = Optional.empty();
		return new CloudSolrClient.Builder(zkHosts, zkChroot).build();
	}

	public static void main(String[] args) throws Exception {
		SolrClient client = SolrJClientSearchDemo.getCloudSolrClient();
		Map<String, String> queryParamMap = new HashMap<String, String>();
		queryParamMap.put("q", "*:*");
		queryParamMap.put("fl", "id, name");
		queryParamMap.put("sort", "id asc");
		MapSolrParams queryParams = new MapSolrParams(queryParamMap);

		final QueryResponse response = client.query("ChiyfTest", queryParams);
		final SolrDocumentList documents = response.getResults();

		System.out.println("Found " + documents.getNumFound() + " documents");
		for (SolrDocument document : documents) {
			final String id = (String) document.getFirstValue("id");
			final String name = (String) document.getFirstValue("name");

			System.out.println("id: " + id + "; name: " + name);
			client.close();

		}

	}

 

插入:

	private static String zkServerUrl = "192.168.154.138:9983";

	public static SolrClient getCloudSolrClient() {
		List<String> zkHosts = new ArrayList<String>();
		zkHosts.add(zkServerUrl);
		Optional<String> zkChroot = Optional.empty();
		return new CloudSolrClient.Builder(zkHosts, zkChroot).build();
	}

	public static void main(String[] args) throws Exception {
		SolrClient client = SolrJClientDemo.getCloudSolrClient();
		final SolrInputDocument doc = new SolrInputDocument();
		doc.addField("id", UUID.randomUUID().toString());
		doc.addField("name", "Amazon Kindle Paperwhite");

		final UpdateResponse updateResponse = client.add("techproducts", doc);
		// Indexed documents must be committed
		client.commit("techproducts");

		System.out.println("add doc:" + doc);
		System.out.println(updateResponse.getResponseHeader());
		System.out.println(updateResponse.getResponse());

		client.close();
	}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值