`

solr更新操作

    博客分类:
  • solr
阅读更多

最近项目中使用了solr技术,由于之前的数据有些小问题需要更新一下,到网上找了一下,没见更新的示例,自己通过添加索引,添加了部分数据,然后试着没有更改id,只是更改某些字段的值重复添加,发现值变了,但是总数没有发生改变,个人觉得solr中的更新和添加类似,如果有就更新没有就添加

public static final String solrURL = "http://localhost:8983/solr";
	
	
	@Test
	public void updateSolrField() {
		SolrServer solrServer = new HttpSolrServer(solrURL);
		SolrQuery solrQuery = new SolrQuery();
		
		solrQuery.setQuery("*:*");
		solrQuery.addFilterQuery("record_type:\"devicebasic\"");
		solrQuery.setStart(0);
		solrQuery.setRows(Integer.MAX_VALUE);
		QueryResponse response = new QueryResponse();
		
		try {
		     response = solrServer.query(solrQuery);
		     if(response != null && response.getResults() != null) {
			 SolrDocumentList results = response.getResults();
			 for (SolrDocument solrDocument : results) {
			     if(solrDocument.get("ORG_CODE") != null && solrDocument.get("ORG_CODE").toString().trim().length() > 0) {
				SolrInputDocument document = new SolrInputDocument();
				for (Map.Entry<String, Object> map : solrDocument.entrySet()) {															document.addField("ORG_CODE", orgCode);														}
												} else if(map.getKey().equals("_version_")) {
								continue;
							} else {
																document.addField(map.getKey(), map.getValue());
							}
						}
						solrServer.add(document);
						solrServer.commit();
					} else {
						continue;
					}
				}
				
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
		
	}

 

分享到:
评论

相关推荐

    Solr定时更新Solr定时更新

    在实际操作中,确保Solr定时更新的稳定性和效率,需要注意以下几点: 1. **性能优化**:根据数据量和系统资源调整并发导入的线程数,避免对其他服务造成影响。 2. **增量策略**:选择合适的增量标识,如时间戳或...

    solr增量导入更新索引包

    - 最后,Solr执行更新操作,可以是单个文档或批量文档的更新。 6. **增量包的使用** 在你的描述中提到了"solr增量添加更新索引包",这可能是一个包含增量更新信息的压缩文件。这个包可能包含了DIH从数据库中获取...

    Solr的原子更新

    利用python的pycurl对Solr进行原子更新操作

    solr 5.4.1 操作及相关的jar包

    在索引方面,Solr 5.4.1支持热插拔索引,允许在不中断服务的情况下进行索引更新和重建,这对于大型系统来说至关重要。同时,它还支持多种存储后端,如Lucene的MMapDirectory和NIOFSDirectory,以及HDFS等分布式存储...

    最新版windows solr-8.8.2.zip

    7. **搜索功能**:Solr支持丰富的查询语法,如标准查询解析器、布尔操作符、通配符查询、短语匹配、近似搜索等,还能进行高亮显示、排序和 faceting(分类)。 8. **实时索引**:Solr支持实时索引,一旦数据被添加...

    银河麒麟服务器操作系统-Solr适配手册.pdf

    - 实时索引:Solr支持实时更新索引,实现搜索结果的即时反馈。 - 可定制:Solr允许用户自定义字段类型、分析器和查询解析器,满足多样化需求。 1.4 SOLR架构及原理 1.5.1 全文检索 Solr通过构建倒排索引,将文档中...

    solr-6.2.0源码

    2. 实时搜索:Solr具有实时索引和查询的能力,一旦数据被更新,索引会立即反映出来,提供实时搜索体验。 3. 多格式支持:Solr支持多种数据格式,如JSON、XML、CSV等,便于数据导入和处理。 4. 高级搜索功能:Solr...

    Solr数据库插入(全量和增量)索引

    在本文中,我们使用 Solr 3.6.2 版本,在 Linux 5.2 操作系统上进行测试。我们使用 Oracle 10g 数据库作为数据源,并使用 DIH 和 Delta-importer 工具来实现全量和增量索引。我们的测试结果表明,全量索引和增量索引...

    solr简单应用操作的代码部分

    此外,Solr还支持实时更新,这意味着当我们有新的数据需要添加或现有数据需要修改时,可以直接调用相应的API,而无需重新构建整个索引。 总结来说,Solr的简单应用操作主要涵盖集合的创建、数据导入、查询和结果...

    solr入门java工程

    Java客户端是与Solr通信的一种常见方式,它允许开发者通过编写Java代码来执行索引操作、查询、更新和管理Solr实例。在“solr-example”这个压缩包中,可能包含了一个简单的Java示例项目,展示了如何使用SolrJ,这是...

    Solr项目源码及solr资源包

    - **solrconfig.xml**:配置Solr服务器的行为,例如索引和查询处理、更新处理链、请求处理器等。 5. **Solr资源安装包**:这可能包含Solr服务器的完整二进制分发版,包括服务器端的jar文件、配置文件、示例集合等...

    solr6工具类

    在Solr6版本中,为了更方便地进行客户端操作,通常会使用SolrJ库,这是一个Java客户端库,它允许Java开发者与Solr服务器进行交互,执行CRUD(创建、读取、更新、删除)操作以及复杂查询。本文将深入探讨Solr6工具类...

    solr5.5.4项目示例

    本项目示例是针对Solr 5.5.4版本的一个实践应用,旨在帮助用户了解并掌握Solr的基本操作,包括对索引的增加、删除、修改和查询。 1. **Solr安装与配置**:首先,你需要下载Solr 5.5.4版本,并解压到本地文件系统。...

    solr-4.4.0.tgz

    - **Schema API**:允许动态管理和更新 Solr 的 Schema,无需重启服务。 - **新功能和模块**:例如,添加了对地理位置搜索的支持,增强了数据分析处理能力等。 2. **安装 Solr 4.4.0**: - 首先,你需要在 Linux...

    ambari离线安装solr所需文件

    9. **维护与更新**:如果需要升级或调整Solr,可以按照类似的过程离线升级服务,同时更新自定义服务的定义和配置。 离线安装Solr的过程可能比较复杂,特别是对于不熟悉Ambari或Solr的人来说。因此,描述中推荐查看...

    solr7官方文档

    - "索引和基本数据操作" 解释了如何使用客户端 API 和不同的工具上传数据、更新数据、处理重复项以及语言检测等。 - "搜索" 部分则提供了对 Solr 搜索功能的全面介绍,包括搜索语法、JSON 请求 API、分面搜索、高亮...

    Solr(Cloudera)使用手册

    在使用Solr(Cloudera)时,创建Collection是基本的操作之一。Collection是Solr中的数据存储单元,相当于关系数据库中的表。 ##### 创建路径与实例 1. **创建路径**:在根目录下创建一个用于存放Solr实例的目录,...

Global site tag (gtag.js) - Google Analytics