solr 集群实现solr更新,
package com.zhuoshi.jcbigdata.util.solr;
import java.io.IOException;
import java.util.*;
import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.SolrRequest;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.impl.CloudSolrServer;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.client.solrj.response.UpdateResponse;
import org.apache.solr.common.SolrDocument;
import org.apache.solr.common.SolrInputDocument;
import com.zhuoshi.jcbigdata.util.PropertiesMoreUtils;
import java.util.Set;
import java.util.List;
public class UpdateSolrUtil {
static CloudSolrServer client = null;
// 索引名称
static String collection_name = PropertiesMoreUtils.getInstance().get("sy", "default_collec", "");
static final String zk_solr_url = PropertiesMoreUtils.getInstance().get("sy", "zk_solr_u", "");
/**
* @return
* @Author:liuxuan
* @Description:更新索引中单个属性数据 @Date:
* @id:索引ID
* @fieldName:属性名称
* @fieldValue:属性值
*/
public static String updateSingleData(String id, String fieldName, Object fieldValue)
throws SolrServerException, IOException {
client = new CloudSolrServer(zk_solr_url);// cloud模式
client.setDefaultCollection(collection_name);
System.out.println("更新调用!");
System.out.println(id + "id更新调用!");
System.out.println(fieldName + "fieldName更新调用!");
System.out.println(fieldValue + "fieldValue更新调用!");
HashMap<String, Object> oper = new HashMap<String, Object>();
oper.put("set", fieldValue);
SolrInputDocument doc = new SolrInputDocument();
doc.addField("id", id);
doc.addField(fieldName, oper);
UpdateResponse rsp = client.add(doc);
UpdateResponse rspCommit = client.commit();
);
int status = rsp.getStatus();
String statustr = String.valueOf(status);
client.shutdown();
return statustr;
}
}
本站文章为和通数据库网友分享或者投稿,欢迎任何形式的转载,但请务必注明出处.
同时文章内容如有侵犯了您的权益,请联系QQ:970679559,我们会在尽快处理。