千家信息网

SolrJ 中怎么操作solr增删改查

发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,今天就跟大家聊聊有关SolrJ 中怎么操作solr增删改查,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Solr的特性包括:• 高级的全文搜索
千家信息网最后更新 2026年11月04日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(Pagination pagination){       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安全错误 数据库的锁怎样保障安全 科技互联网项目 期待互联网科技 互联网科技大会案例 镁科技互联网资讯平台 科技伦理 互联网公司 中国最先进互联网科技公司 云创客互联网科技公司 隆华科技工业互联网 互联网经济与金融科技 成都铂石互联网科技做什么的 黑科技闪耀互联网之光 呼和浩特新华互联网科技学院 滨湖区互联网智能科技产品有哪些 本届互联网大会上的黑科技 全球科技与互联网公司市值变化 互联网科技机房 版纳互联网科技选哪家 互联网科技创业计划的风险分析 六子台科技互联网展会 株洲百竞科技的互联网营销顾问 有格互联网科技 互联网的科技 北京禾田雨橡互联网科技 美国互联网前沿科技 互联网科技大奖都有哪些公司 互联网科技圈年度人物 合肥互联网科技公司公章图片 珠海东科互联网科技有限公司 米泉互联网科技专业怎么样 长沙易易互联网科技有限公司
0