SolrJ 中怎么操作solr增删改查
发表于:2024-09-29 作者:千家信息网编辑
千家信息网最后更新 2024年09月29日,今天就跟大家聊聊有关SolrJ 中怎么操作solr增删改查,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Solr的特性包括:• 高级的全文搜索
千家信息网最后更新 2024年09月29日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安全错误
数据库的锁怎样保障安全
软件开发圣经
服务器超时是什么意思
生存战争的服务器在哪里
怀旧服没有平衡的服务器
纯java访问数据库的基本方式
想自学软件开发完整免费版
物理网络技术的原理
英雄联盟服务器一直断开
如何修改服务器的端口
如何建立图文数据库
互联网的黑科技
互联网软件开发趋势
长宁区智能化软件开发定制价钱
网络安全工程师的工作内容
网络安全系列视频第1集
重庆麦苗网络技术有限公司
电信服务器租用价格
学习软件开发需要什么电脑
科峰网络技术有限公司怎么样
计算机网络技术三级怎么样
搭建视频网站服务器选择
e系数据库管理
qt 数据库 批量写入
软件开发如何报价
hp服务器怎么刷固件
游戏服务器 开发规范
制作图表时前几个数据库
国外医院网络技术发展现状
在日企做软件开发工作内容
一万并发需要什么服务器