solr/solrj之原子更新
2015-06-23 12:27
183 查看
lucene本身对原子更新没有太多的介绍,但solr对其进行了封装,这里简单做个介绍;这点操作还是对索引很实用的。
具体在代码中使用如下:
/**
* 原子更新方式
* */
public static void updateSolrField()throws Exception{
SolrInputDocument doc = new SolrInputDocument();
doc .addField("id", "10");//根据id唯一标识
Map<String,String> map=new HashMap<String, String>();
map.put("add", "新加的field");//放入支持的操作,对多值域管用 ,增加field
//map.put("set", "更新后的field");//对单值和多值域管用,更新field
//map.put("inc", "100");//放入支持的操作,对数值域管用
sd.addField("name", map);
server.add(sd);
server.commit();
System.out.println("原子更新成功!");
}
当然要注意一点的是,操作的field必须为存储(store="true"),否则更新的索引会覆盖前面的索引。
具体在代码中使用如下:
/**
* 原子更新方式
* */
public static void updateSolrField()throws Exception{
SolrInputDocument doc = new SolrInputDocument();
doc .addField("id", "10");//根据id唯一标识
Map<String,String> map=new HashMap<String, String>();
map.put("add", "新加的field");//放入支持的操作,对多值域管用 ,增加field
//map.put("set", "更新后的field");//对单值和多值域管用,更新field
//map.put("inc", "100");//放入支持的操作,对数值域管用
sd.addField("name", map);
server.add(sd);
server.commit();
System.out.println("原子更新成功!");
}
当然要注意一点的是,操作的field必须为存储(store="true"),否则更新的索引会覆盖前面的索引。
相关文章推荐
- 连接队列相关1
- Advanced.Aircraft.Analysis.v2.5.1.53 1CD(飞机设计性能分析软体)
- Android小技巧:实现捕获应用的运行时异常
- 停靠技术 Dock
- Android小技巧:实现捕获应用的运行时异常 分类: Android其他 2015-06-23 12:26 12人阅读 评论(0) 收藏
- Flexisign Pro v10.5.1 Build 1806-ISO 1DVD(电脑切割系统)
- 这篇文章证实了我的猜测:即:在TCP中,存在 :全连接队列,半连接队列,等队列
- sublime text3安装插件 emmet
- HTML5
- jQuery 实验教程
- Sokkia Mapsuite+ v3.0 build 304-ISO 1CD(勘探测绘软件)
- Python中线程编程之threading模块的使用详解
- 半连接队列
- O2O“世界大战”:美团全线开战,点评合纵连横
- 从VC的反汇编复制代码到自己的汇编
- The Begining of This Part
- Spark MLlib系列(一):入门介绍
- 重载与重写
- rails 中 preload、includes、Eager load、Joins 的区别
- Python 赋值、浅拷贝、深拷贝的区别?