solr/solrj之原子更新

本文介绍如何在Solr中利用Lucene进行原子更新操作,包括使用SolrInputDocument添加字段、操作存储(store)属性以及执行更新、提交索引的过程。确保操作的field为存储状态以避免索引覆盖。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

lucene本身对原子更新没有太多的介绍,但solr对其进行了封装,这里简单做个介绍;这点操作还是对索引很实用的。
具体在代码中使用如下:
  1. /** 
  2.  * 原子更新方式 
  3.  * */  
  4. public static void updateSolrField()throws Exception{  
  5.     SolrInputDocument doc = new SolrInputDocument();  
  6.     doc .addField("id""10");//根据id唯一标识  
  7.     Map<String,String> map=new HashMap<String, String>();  
  8.     map.put("add""新加的field");//放入支持的操作,对多值域管用 ,增加field 
  9.     //map.put("set", "更新后的field");//对单值和多值域管用,更新field  
  10.     //map.put("inc", "100");//放入支持的操作,对数值域管用  
  11.     sd.addField("name", map);  
  12.     server.add(sd);  
  13.     server.commit();  
  14.     System.out.println("原子更新成功!");  

当然要注意一点的是,操作的field必须为存储(store="true"),否则更新的索引会覆盖前面的索引。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值