您的位置:首页 > 其它

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"),否则更新的索引会覆盖前面的索引。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: