SolrJ 中怎么操作solr增删改查
发表于:2024-11-26 作者:千家信息网编辑
千家信息网最后更新 2024年11月26日,今天就跟大家聊聊有关SolrJ 中怎么操作solr增删改查,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Solr的特性包括:• 高级的全文搜索
千家信息网最后更新 2024年11月26日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安全错误
数据库的锁怎样保障安全
腾讯的数据库公司
网安等保数据库安全解决方案
计算机软件开发演讲稿
ldap数据库怎么查
维护网络安全办法
杭州互联网科技型企业复工时间
企业的服务器会无线扩张吗
广外计算机网络技术
腾诚软件开发面试题
魔兽服务器负载 不兼容
vpn服务器带宽影响
软件开发部门的规划
aic 服务器
服务器内存只有12g可用
计算机网络技术主要参考文献
html 数据库
软件开发大赛评分标准
视频网关接入服务器
阿里网络技术面试
数据库属于服务端吗
市公安局网络安全宣传中心
网络安全ei
XML数据库技术书籍
网络安全法个人信息的含义
黄浦区咨询软件开发厂家职责
世界互联网领先科技
网络安全法25条的理解
网络安全手抄报六年级一等奖
专业服务器散热器订做
东莞市网络安全应急指挥中心