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;
}
}
solr 集群实现solr更新
最新推荐文章于 2022-11-03 11:59:21 发布