SolrJ 中怎么操作solr增删改查
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,今天就跟大家聊聊有关SolrJ 中怎么操作solr增删改查,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Solr的特性包括:• 高级的全文搜索
千家信息网最后更新 2025年12月03日SolrJ 中怎么操作solr增删改查
今天就跟大家聊聊有关SolrJ 中怎么操作solr增删改查,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
Solr的特性包括:
• 高级的全文搜索功能
• 专为高通量的网络流量进行的优化
• 基于开放接口(XML和HTTP)的标准
• 综合的HTML管理界面
• 可伸缩性-能够有效地复制到另外一个Solr搜索服务器
• 使用XML配置达到灵活性和适配性
• 可扩展的插件体系
//分页查询 //创建SolrServer对象,要对solr HttpSolrServer server = new HttpSolrServer(url); //连接solr服务器超时时间 单位毫秒 server.setConnectionTimeout(timeout); //是否允许跟踪重定向 默认false server.setFollowRedirects(followRedirects); //是否允许压缩 server.setAllowCompression(allowCompression); //最大重新连接次数 server.setMaxRetries(maxRetries);//创建查询对象 SolrQuery query = communitySolrHandler.createQuery(pagination);public SolrQuery createQuery(Paginationpagination){ SolrQuery query = new SolrQuery(); CommunitySolrField k = pagination.getDto(); String value = k.getShortPy(); StringBuilder sb = new StringBuilder(); //拼接查询条件 if (!CollectionUtils.isEmpty(k.getRegionIds())){ for (String regionId:k.getRegionIds()){ sb.append(" regionId:"+regionId); } } if (!CollectionUtils.isEmpty(k.getProjectIds())){ for (String projectId:k.getProjectIds()){ sb.append(" projectId:"+projectId); } } query.setQuery(sb.toString()); //在满足上面条件之外 过滤下面的条件 if (StringUtils.hasText(value)){ if (ToolUtils.matcherZh(value)){ query.addFilterQuery(" communityName:"+value); }else { query.addFilterQuery("shortPiny:"+value.toLowerCase()+"*" ); } } //分页返回结果 int start = ToolUtils.start(pagination.getPageNo(), pagination.getPageSize()) ; // 从第几条开始查询 query.setStart(start); query.setRows(pagination.getPageSize()); return query; }//更新索引 一般这段代码是用定时任务来跑得 ConcurrentUpdateSolrServer server = new ConcurrentUpdateSolrServer(solrJSearchClient.getUrl()+ SolrTable.community.toString(), solrJSearchClient.getQueueSize(), solrJSearchClient.getThreadCount()); List list = communityDao.findAllCommunitySolr() ; if (CollectionUtils.isEmpty(list)) { return; } List ids = new ArrayList (); List docs = new ArrayList (); SolrInputDocument doc; HanZi hanZi; for (CommunityDto communityDto:list){ doc = new SolrInputDocument(); hanZi = new HanZi(communityDto.getName()); doc.addField("id",communityDto.getId()); doc.addField("communityName",communityDto.getName()); doc.addField("piny",communityDto.getPiny()); doc.addField("shortPiny",hanZi.getPinYinHeadChar()); doc.addField("sortDefault",communityDto.getSortDefault()); doc.addField("regionId",communityDto.getDicRegionId()); doc.addField("projectId",communityDto.getProjectId()); docs.add(doc); ids.add(communityDto.getId()); } try { //先删除 server.deleteById(ids); server.commit(); //再添加/更新索引 server.add(docs); //对索引进行优化 server.optimize(); server.commit(); } catch (Exception e) { e.printStackTrace(); }
看完上述内容,你们对SolrJ 中怎么操作solr增删改查有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。
查询
内容
条件
索引
对象
服务器
搜索
更新
服务
最大
有效
高级
专为
代码
任务
体系
全文
功能
单位
可伸缩性
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
通讯软件开发公司
国家建立网络安全检测预警
华为小艺怎样连接数据库
网络安全小作文350字
庐江软件开发公司
sql数据库安装需要注意什么
ftp服务器管理软件app
网络安全法的意义包括有哪些
ip软件服务器管理
共享内存数据库
演讲稿网络安全150字
智能交通软件开发
服务器硬盘有减震吗
电子app软件开发
巡检管理系统怎么改数据库
数据库原理代理键如何设置
编程从零开始学数据库
世界银行数据库哪里有汇率
网络技术的发展英语翻译
投注app软件开发
网络安全法中国日报
怎么查看服务器型号
服务器如何取消玩家地皮权限
采取措施筑牢网络安全
如何将图片上传到自己的服务器
世界尖端网络技术
手抄报主题网络安全靠大家
北京网络技术有限公司在哪
java数据库动态切换
培训机构网络安全事故