首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Solrj的基础操作

Solrj 之HttpSolrClient

旧版本的连接服务HttpSolrServer在solr5版本后已经停用,被新的HttpSolrClient取代,可以从下面的url中查看相关的API,了解更详细的变动。

HttpSolrClient server=new HttpSolrClient(url);//设置对应请求的目标主机线程数为1000条server.setDefaultMaxConnectionsPerHost(1000); server.setMaxTotalConnections(10000);server.setConnectionTimeout(60000);//设置连接超时时间(单位毫秒) 1000server.setSoTimeout(60000);// 设置读数据超时时间(单位毫秒) 1000server.setFollowRedirects(false);//遵循重定向server.setAllowCompression(true);//允许压缩

Solrj添加索引

HttpSolrClient server = SolrServer.getServer();SolrInputDocument doc = new SolrInputDocument();doc.addField("id", "123456");doc.addField("title_s", "test");doc.addField("des_s", "test des");try {server.add(doc);server.commit();} catch (Exception e) {e.printStackTrace();}

Id:索引中的唯一ID,定义见配置。

title_s:动态字符串域定义,静态见官方配置。

Solrj查询索引

HttpSolrClient server = SolrServer.getServer();SolrQuery sQuery = new SolrQuery();sQuery.setQuery(str); // 默认*:* , des_s:xxx , 具体见查询语法//sQuery.set("q", "des_s:test*");// 查询nickname是chm开头的数据sQuery.setStart(0); // 检索偏移量sQuery.setRows(5); // 返回行数QueryResponse queryResponse;try { queryResponse = server.query(sQuery); SolrDocumentList list = queryResponse.getResults(); System.out.println("query result nums: " + list.getNumFound()); for (int i = 0; i < list.size(); i++) { System.out.println(list.get(i).getFieldValue("des_s")); }} catch (Exception e) { e.printStackTrace();}

Solrj删除索引

HttpSolrClient server = SolrServer.getServer();server.deleteById(“123456”); // 单个idserver.commit();

HttpSolrClient server = SolrServer.getServer();List ids = new ArrayList();ids.add(“123456”); // id的集合server.deleteById(ids);server.commit();

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200425A0PESX00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券