solr/solrj之原子更新

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"),否則更新的索引會覆蓋前面的索引。
發佈了49 篇原創文章 · 獲贊 3 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章