solr solrutil 工具类

6 篇文章 0 订阅
2 篇文章 0 订阅
package com.utstar.iptvboss.util;

import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.Set;
import java.util.TreeMap;

import org.apache.commons.lang3.StringUtils;
import org.apache.log4j.Logger;
import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.impl.CloudSolrClient;
import org.apache.solr.client.solrj.response.FacetField;
import org.apache.solr.client.solrj.response.FacetField.Count;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.common.SolrDocument;
import org.apache.solr.common.SolrDocumentList;
import org.apache.solr.common.SolrInputDocument;
import org.apache.solr.common.params.FacetParams;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;

public class SolrUtils {
	private static final String DEFAULTSCORE = "0.8";
	private static SolrUtils singleton;
	private Properties prop;
	private String zkHost;
	private String collection;
	private String queryField;
	private String queryFieldPinYin;
	private String fieldList;
	private Integer calPinYinCount;
	private CloudSolrClient client;
	private final String ZXKEY = "013";
	private final String SOLRCOLUMNPREFIX = "SOLR_COLUMN";
	private final Integer MINCOUNT = 1;
	private final Integer DEFAULTPOINT = 1;
	private final Integer INDEX = 6;
	private final Integer SECONDS = 3600;
	private Logger logger = Logger.getLogger(SolrUtils.class);
	private Map<String, String> column = new HashMap<String, String>();
	private Map<String, String> columnNameMap = new HashMap<>();
	private SolrUtils() {
		init();
	}
	public static SolrUtils getInstance() {
		if (singleton == null) {
			synchronized (SolrUtils.class) {
				if (singleton == null) {
					singleton = new SolrUtils();
				}
			}
		}
		return singleton;
	}
	private void init() {
		System.out.println("solrUtils initing....");
		prop = new Properties();
		try {
			prop.load(SolrUtils.class.getResourceAsStream("/solr.properties"));
			zkHost = prop.getProperty("zkHost");
			collection = prop.getProperty("collection");
			queryField = prop.getProperty("queryField");
			queryFieldPinYin = prop.getProperty("queryFieldPinYin");
			fieldList = prop.getProperty("fieldList");
			calPinYinCount = Integer.parseInt(prop.getProperty("calPinYinCount","12"));
			client = new CloudSolrClient.Builder().withZkHost(zkHost).build();
			String mapString = prop.getProperty("columnNameMap");
			String[] mapArray = mapString.split(";");
			for (String arrayString : mapArray) {
				String[] values = arrayString.split(":");
				columnNameMap.put(values[0], values[1]);
			}
			String columnString = prop.getProperty("column");
			String[] columnArray = columnString.split(",");
			for (String columnMap : columnArray) {
				String[] columnTemp = columnMap.split(":");
				column.put(columnTemp[0], columnTemp[1]);
			}
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	
	
	
	
	
	/**
	 * by 1022
	 * @param collection
	 * @param queryString
	 * @param start
	 * @param count
	 * @return
	 */
	public JSONObject query2(String collection, String queryString, int start,int count) {
		int code = 0;
		String message = "成功";
		JSONArray array = new JSONArray();
		JSONObject json = new JSONObject();
		//设置查询集合
		client.setDefaultCollection(collection);
		//新建查询并设置查询字段
		SolrQuery query = new SolrQuery();
		
		query.setQuery(queryString);
		//排序
//		query.addSort("id", SolrQuery.ORDER.desc);
//		query.addSort("id", SolrQuery.ORDER.asc);
		//设置起始位置和返回条数
		query.setStart(start);
		query.setRows(count);
		//获取总记录数
		long numFound = 0;
		try {
			long begin1 = System.currentTimeMillis();
			//client执行查询
			QueryResponse response = client.query(query);
			//获取所有文档
			long end1 = System.currentTimeMillis();
			logger.info("query used time : " + (end1 - begin1));
			long begin = System.currentTimeMillis();
			SolrDocumentList docs = response.getResults();
			numFound = docs.getNumFound();
			//封装subject
			for (SolrDocument doc : docs) {
				Collection<String> fieldNames = doc.getFieldNames();
				JSONObject tempJson = new JSONObject();
				for (String fieldName :fieldNames) {
					Object fieldValue = doc.getFieldValue(fieldName);
					tempJson.put(fieldName, fieldValue);
				}
				array.add(tempJson);
			}
		} catch (Exception e) {
			code = -1;
			message = e.toString();
			e.printStackTrace();
		}
		json.put("rows", array);
		json.put("total", numFound);
		json.put("code", code);
		json.put("message", message);
		return json;
	}
	
	/**
	 * by 1022
	 * @param <T>
	 * @param collection
	 * @param queryString
	 * @param start
	 * @param count
	 * @return 
	 * @return
	 * @throws Exception 
	 */
	public <T> T queryById(String collection, String queryString,Class<T> clazz) throws Exception {
		T t = null;
		//设置查询集合
		client.setDefaultCollection(collection);
		//创建查询对象
		SolrQuery query = new SolrQuery();
		//设置查询字符串
		query.setQuery(queryString);
			//client执行查询
			QueryResponse response = client.query(query);
			//获取所有文档
			SolrDocumentList docs = response.getResults();
			//将map转化为bean
			if (docs!=null&&docs.size()!=0) {
				SolrDocument doc = docs.get(0);
				Map<String, Object> map = doc.getFieldValueMap();
				
				HashMap<String, Object> hashMap = new HashMap<String, Object>();
			    Set<String> set = map.keySet();
			    for (String string : set) {
					if (!"_version_".equals(string)) {
						hashMap.put(string, map.get(string));
					}
				}
				t = MapToBeanUtil1.mapToBean(hashMap, clazz);
			}
		return t;
	}	
	
	
	
	/**
	 * by 1022
	 * @param collection
	 * @param queryString
	 * @param start
	 * @param count
	 * @return
	 */
	public JSONObject queryById(String collection, String queryString) {
		int code = 0;
		String message = "成功";
		JSONObject json = new JSONObject();
		JSONObject jsonUserinfo = new JSONObject();

		//设置查询集合
		client.setDefaultCollection(collection);
		//创建查询对象
		SolrQuery query = new SolrQuery();
		//设置查询字符串
		query.setQuery(queryString);
		try {
			long begin1 = System.currentTimeMillis();
			//client执行查询
			QueryResponse response = client.query(query);
			//获取所有文档
			SolrDocumentList docs = response.getResults();
			//封装到jsonUserinfo
			if (docs!=null&&docs.size()!=0) {
				SolrDocument doc = docs.get(0);
				Collection<String> fieldNames = doc.getFieldNames();
				for (String fieldName :fieldNames) {
					Object fieldValue = doc.getFieldValue(fieldName);
					jsonUserinfo.put(fieldName, fieldValue);
				}
			}
		} catch (Exception e) {
			code = -1;
			message = e.toString();
			e.printStackTrace();
		}
		json.put("vo", jsonUserinfo);
		json.put("code", code);
		json.put("message", message);
		return json;
	}	
	
	
	
	/**
	 * @param collection 查询的集合
	 * @param key	查询关键字
	 * @param column 过滤栏目
	 * @param start	起始位置
	 * @param count	返回条数
	 * @param quetyField 查询的字段
	 * @return 返回封装好的json
	 */
	public JSONObject query(String collection, String key, String column, int sdonly, int start,
			int count, String quetyField, String bf) {
		int code = 0;
		String msg = "OK";
		String fl = fieldList;
		JSONArray array = new JSONArray();
		JSONObject json = new JSONObject();
		//设置查询集合
		client.setDefaultCollection(collection);
		//获取栏目列表
//		JSONArray columnArray = getColumnType(collection, key, sdonly, start, count, quetyField);
		//新建查询并设置查询字段
		SolrQuery query = new SolrQuery();
		String queryString ="*" + key + "*";
		/*if (StringUtils.isNotBlank(column)) {
			queryString += " and column:" + column;
		}*/
		if (StringUtils.isNotBlank(column)) {
			query.addFilterQuery("column:" + column);
		}
		if (sdonly == 1) {
			query.addFilterQuery("hdflag:" + 0);
		}
		query.setQuery(queryString);
		query.set("fl", fl);
		query.set("df", "searchkey");
		query.set("defType","edismax");  
		query.set("qf",quetyField);
		query.set("bf",bf);
		//开启facet
		/*query.setFacet(true);
		query.addFacetField(new String[] {"column"});
		query.setFacetMinCount(MINCOUNT);
		query.setFacetMissing(false);
		query.setFacetSort(FacetParams.FACET_SORT_INDEX_LEGACY);*/
		//排序
		query.addSort("score", SolrQuery.ORDER.desc);
		query.addSort("column", SolrQuery.ORDER.asc);
		//设置起始位置和返回条数
		query.setStart(start);
		query.setRows(count);
		//获取总记录数
		long numFound = 0;
		try {
			long begin1 = System.currentTimeMillis();
			//client执行查询
			QueryResponse response = client.query(query);
			//获取所有文档
			long end1 = System.currentTimeMillis();
			logger.info("query used time : " + (end1 - begin1));
			long begin = System.currentTimeMillis();
			SolrDocumentList docs = response.getResults();
			numFound = docs.getNumFound();
			//封装subject
			for (SolrDocument doc : docs) {
				Collection<String> fieldNames = doc.getFieldNames();
				JSONObject tempJson = new JSONObject();
				for (String fieldName :fieldNames) {
					Object fieldValue = doc.getFieldValue(fieldName);
					tempJson.put(fieldName, fieldValue);
				}
				array.add(tempJson);
			}
			long end = System.currentTimeMillis();
			logger.info("for used time : " + (end - begin));
		} catch (Exception e) {
			code = -1;
			msg = e.toString();
			e.printStackTrace();
		}
		json.put("start", start);
		json.put("subject", array);
		json.put("count", array.size());
		json.put("total", numFound);
		json.put("code", code);
		json.put("msg", msg);
//		json.put("columntype", columnArray);
		return json;
	}
	
	public boolean updateWeightById(String collection, String c2code, int Weight) {
		//设置查询集合
 		client.setDefaultCollection(collection);
		//新建查询并设置查询字段
		SolrQuery query = new SolrQuery();
		String queryString ="id:" + c2code;
		query.setQuery(queryString);
		try {
			long begin1 = System.currentTimeMillis();
			//client执行查询
			QueryResponse response = client.query(query);
			//获取所有文档
			long end1 = System.currentTimeMillis();
			logger.info("query used time : " + (end1 - begin1));
			long begin = System.currentTimeMillis();
			SolrDocumentList docs = response.getResults();
			//封装subject
			SolrInputDocument newDoc = new SolrInputDocument();
			for (SolrDocument doc : docs) {
				Collection<String> fieldNames = doc.getFieldNames();
				for (String fieldName :fieldNames) {
					Object fieldValue = doc.getFieldValue(fieldName);
					if ("point".equals(fieldName)) {
						newDoc.addField("point", Weight);
					} else {
						newDoc.addField(fieldName, fieldValue);
					}
				}
			}
			newDoc.toString();
			if (newDoc.size() > 0) {
				client.add(newDoc);
				client.commit();
			}
			long end = System.currentTimeMillis();
			logger.info("for used time : " + (end - begin));
		} catch (Exception e) {
			e.printStackTrace();
		}
		return true;
	}
	
	/**
	 * @param collection 查询的集合
	 * @param key	查询关键字
	 * @param column 过滤栏目
	 * @param start	起始位置
	 * @param count	返回条数
	 * @param quetyField 查询的字段
	 * @return 返回栏目
	 */
//	public JSONArray getColumnType(String collection, String key, int sdonly, int start,
//			int count, String quetyField) {
//		JSONArray columnArray = new JSONArray();
//		//从redis中获取栏目列表
//		String redisKey = SOLRCOLUMNPREFIX + "_" + key + "_" + sdonly;
 		String columnString = RedisClusterUtil.getInstance().get(redisKey, INDEX);
//		
//		if (StringUtils.isNotBlank(columnString)) {
//			columnArray = JSONArray.parseArray(columnString);
//		} else {
//			//设置查询集合
//			client.setDefaultCollection(collection);
//			Map<String, Long> columnMap = new TreeMap<String, Long>();
//			//新建查询并设置查询字段
//			SolrQuery query = new SolrQuery();
//			String queryString ="*" + key + "*";
//			query.setQuery(queryString);
//			query.set("fl", "score and column");
//			query.set("df", "searchkey");
//			query.set("defType","edismax");  
//			query.set("qf",quetyField);
//			query.set("bf","div(point,100)");
//			//sdonly为1只返回标清,否则返回全部
//			if (sdonly == 1) {
//				query.addFilterQuery("hdflag:" + 0);
//			}
//			//开启facet
//			query.setFacet(true);
//			query.addFacetField(new String[] {"column"});
//			query.setFacetMinCount(MINCOUNT);
//			query.setFacetMissing(false);
//			query.setFacetSort(FacetParams.FACET_SORT_INDEX_LEGACY);
//			//排序
//			query.addSort("score", SolrQuery.ORDER.desc);
//			query.addSort("column", SolrQuery.ORDER.asc);
//			//设置返回条数
//			query.setStart(start);
//			query.setRows(MINCOUNT);
//			try {
//				long begin1 = System.currentTimeMillis();
//				//client执行查询
//				QueryResponse response = client.query(query);
//				long end1 = System.currentTimeMillis();
//				logger.info("query used time : " + (end1 - begin1));
//				long begin = System.currentTimeMillis();
//				//获取栏目,并把资讯栏目放到最后
//				List<FacetField> facetFields = response.getFacetFields();
//				for (FacetField f : facetFields) {
//					List<Count> values = f.getValues();
//					for (Count value : values) {
//						columnMap.put(value.getName(), value.getCount());
//					}
//				}
//				Set<String> keys = columnMap.keySet();
//				for (String str : keys) {
//					JSONObject columnJson = new JSONObject();
//					if (StringUtils.isNotBlank(str) && !ZXKEY.equals(str)) {
//						columnJson.put("column", str);
//						columnJson.put("columnname", columnNameMap.get(str));
//						columnJson.put("count", columnMap.get(str));
//						columnArray.add(columnJson);
//					}
//				}
//				if (columnMap.containsKey(ZXKEY)) {
//					JSONObject zxJson = new JSONObject();
//					zxJson.put("column", ZXKEY);
//					zxJson.put("columnname", columnNameMap.get(ZXKEY));
//					zxJson.put("count", columnMap.get(ZXKEY));
//					columnArray.add(zxJson);
//				}
				//把栏目结果缓存到redis中
				RedisClusterUtil.getInstance().setex(redisKey, SECONDS, columnArray.toString(),
						INDEX);
//				long end = System.currentTimeMillis();
//				logger.info("for used time : " + (end - begin));
//			} catch (Exception e) {
//				e.printStackTrace();
//			}
//		}
//		
//		return columnArray;
//		
//	}
	
	/**
	 * @param collection 保存索引的集合
	 * @param bean	需要建索引的bean对象
	 * @return 
	 */
//	public boolean index(String collection, WsMergedMediaImageBean bean) {
//		boolean isOk = true;
//		try {
//			//设置查询集合
//			client.setDefaultCollection(collection);
//			SolrInputDocument doc = new SolrInputDocument();
//			//去除不被索引项,如HD,BR等
//			String tempName = bean.getName().replace("[BR]", "")
//					.replace("[HD]", "")
//					.replace("[4K]", "")
//					.replace("[br]", "")
//					.replace("[hd]", "")
//					.replace("[4k]", "");
//			//影片名多音字组合,以逗号分隔
//			String temp_pinyin = null;
//			if (tempName.length() > calPinYinCount) {
//				temp_pinyin = PinYinUtil.getFirstSpell(tempName);
//			} else {
//				StringBuilder nameBuilder = new StringBuilder();
//				HashSet<String> multiName = PinYinUtil.getMultiFirstSpell(tempName);
//				for (String n : multiName) {
//					nameBuilder.append(n).append(",");
//				}
//				temp_pinyin = nameBuilder.toString();
//			}
//			
//			String name_pinyin = bean.getName() == null ? "" : 
//				temp_pinyin;
//			//演员多音字组合,以逗号分隔
//			StringBuilder castsBuilder = new StringBuilder();
//			HashSet<String> multiCasts = PinYinUtil.getMultiFirstSpell(bean.getCasts());
//			for (String cast : multiCasts) {
//				castsBuilder.append(cast).append(",");
//			}
//			String casts_pinyin = bean.getCasts() == null ? "" :
//				castsBuilder.toString();
//			//导演多音字组合,以逗号分隔
//			StringBuilder directorsBuilder = new StringBuilder();
//			HashSet<String> multiDirectors = PinYinUtil.getMultiFirstSpell(bean.getDirectors());
//			for (String director : multiDirectors) {
//				directorsBuilder.append(director).append(",");
//			}
//			String directors_pinyin = bean.getDirectors() == null ? "" : 
//				directorsBuilder.toString();
//			//设置solr文档对象
//			doc.addField("code", bean.getC2code() == null ? "" : bean.getC2code());
//			doc.addField("name", bean.getName() == null ? "" : bean.getName());
//			doc.addField("name_pinyin", name_pinyin);
//			doc.addField("indexname", tempName);
//			doc.addField("image", "");
//			doc.addField("basemark", bean.getBasemark() == null ? "" : bean.getBasemark());
//			doc.addField("opmark", bean.getOpmark() == null ? "" : bean.getOpmark());
//			doc.addField("rating", bean.getRating() == null ? "" : bean.getRating());
//			doc.addField("column", bean.getColumntype() == null ? "" : bean.getColumntype());
//			doc.addField("columnname", bean.getColumnname() == null ? "" : bean.getColumnname());
//			doc.addField("seriestype", bean.getType() == null ? "" : bean.getType());
//			doc.addField("poster", bean.getPoster() == null ? "" : bean.getPoster());
//			doc.addField("still", bean.getStill() == null ? "" : bean.getStill());
//			doc.addField("opimg1", bean.getOpimg1() == null ? "" : bean.getOpimg1());
//			doc.addField("opimg2", bean.getOpimg2() == null ? "" : bean.getOpimg2());
//			doc.addField("basetagsname", bean.getBasetagsname() == null ? "" : bean.getBasetagsname());
//			doc.addField("directors", bean.getSourcedirectors() == null ? "" : bean.getSourcedirectors());
//			doc.addField("directors_pinyin", directors_pinyin);
//			doc.addField("casts", bean.getCasts() == null ? "" : bean.getCasts());
//			doc.addField("casts_pinyin", casts_pinyin);
//			doc.addField("volumncount", bean.getVolumncount() == null ? "" : bean.getVolumncount());
//			doc.addField("hdflag", bean.getHdflag());
//			doc.addField("point", DEFAULTPOINT);
//			doc.addField("id", bean.getC2code() == null ? "" : bean.getC2code());
//			//添加并提交文档
//			client.add(doc);
//			client.commit();
//		} catch (Exception e) {
//			isOk = false;
//			e.printStackTrace();
//		}
//		return isOk; 
//	}
	
	/**
	 * @param collection 保存索引的集合
	 * @param beans	需要建索引的bean列表
	 * @return 
	 */
//	public boolean index(String collection, List<WsMergedMediaImageBean> beans) {
//		boolean isOk = true;
//		List<SolrInputDocument> docs = new ArrayList<SolrInputDocument>();
//		//记录已建索引数
//		int indexCount = 0;
//		//设置查询集合
//		client.setDefaultCollection(collection);
//		try {
//			if (beans.size() > 0) {
//				for (WsMergedMediaImageBean bean : beans) {
//					SolrInputDocument doc = new SolrInputDocument();
//					//去除不被索引项,如HD,BR等
//					String tempName = bean.getName().replace("[BR]", "")
//							.replace("[HD]", "")
//							.replace("[4K]", "")
//							.replace("[br]", "")
//							.replace("[hd]", "")
//							.replace("[4k]", "");
//					//影片名多音字组合,以逗号分隔
//					String temp_pinyin = null;
//					if (tempName.length() > calPinYinCount) {
//						temp_pinyin = PinYinUtil.getFirstSpell(tempName);
//					} else {
//						StringBuilder nameBuilder = new StringBuilder();
//						HashSet<String> multiName = PinYinUtil.getMultiFirstSpell(tempName);
//						for (String n : multiName) {
//							nameBuilder.append(n).append(",");
//						}
//						temp_pinyin = nameBuilder.toString();
//					}
//					
//					String name_pinyin = bean.getName() == null ? "" : 
//						temp_pinyin;
//					//演员多音字组合,以逗号分隔
//					StringBuilder castsBuilder = new StringBuilder();
//					HashSet<String> multiCasts = PinYinUtil.getMultiFirstSpell(bean.getCasts());
//					HashSet<String> filterSet = new HashSet<String>();
//					for (String cast : multiCasts) {
//						String[] castArray = cast.split(",");
//						for (String c : castArray) {
//							if (!filterSet.contains(c)) {
//								castsBuilder.append(c).append(",");
//								filterSet.add(c);
//							}
//						}
//							
//					}
//					String casts_pinyin = bean.getCasts() == null ? "" :
//						castsBuilder.toString();
//					//导演多音字组合,以逗号分隔
//					filterSet.clear();
//					StringBuilder directorsBuilder = new StringBuilder();
//					HashSet<String> multiDirectors = PinYinUtil.getMultiFirstSpell(bean.getDirectors());
//					for (String director : multiDirectors) {
//						String[] directorArray = director.split(",");
//						for (String d : directorArray) {
//							if (!filterSet.contains(d)) {
//								directorsBuilder.append(d).append(",");
//								filterSet.add(d);
//							}
//						}
//					}
//					String directors_pinyin = bean.getDirectors() == null ? "" : 
//						directorsBuilder.toString();
//					//设置solr文档对象
//					doc.addField("code", bean.getC2code() == null ? "" : bean.getC2code());
//					doc.addField("title", bean.getName() == null ? "" : bean.getName());
//					doc.addField("name_pinyin", name_pinyin);
//					doc.addField("indexname", tempName);
//					doc.addField("image", "");
//					doc.addField("basemark", bean.getBasemark() == null ? "" : bean.getBasemark());
//					doc.addField("opmark", bean.getOpmark() == null ? "" : bean.getOpmark());
//					doc.addField("rating", bean.getRating() == null ? "" : bean.getRating());
//					doc.addField("column", bean.getColumntype() == null ? "" : bean.getColumntype());
//					doc.addField("columnname", bean.getColumnname() == null ? "" : bean.getColumnname());
//					doc.addField("seriestype", bean.getType() == null ? "" : bean.getType());
//					doc.addField("poster", bean.getPoster() == null ? "" : bean.getPoster());
//					doc.addField("still", bean.getStill() == null ? "" : bean.getStill());
//					doc.addField("opimg1", bean.getOpimg1() == null ? "" : bean.getOpimg1());
//					doc.addField("opimg2", bean.getOpimg2() == null ? "" : bean.getOpimg2());
//					doc.addField("basetagsname", bean.getBasetagsname() == null ? "" : bean.getBasetagsname());
//					doc.addField("directors", bean.getSourcedirectors() == null ? "" : bean.getSourcedirectors());
//					doc.addField("directors_pinyin", directors_pinyin);
//					doc.addField("casts", bean.getCasts() == null ? "" : bean.getCasts());
//					doc.addField("casts_pinyin", casts_pinyin);
//					doc.addField("volumncount", bean.getVolumncount() == null ? "" : bean.getVolumncount());
//					doc.addField("hdflag", bean.getHdflag());
//					doc.addField("point", DEFAULTPOINT);
//					doc.addField("id", bean.getC2code() == null ? "" : bean.getC2code());
//					docs.add(doc);
//					indexCount++;
//				}
//				//添加并提交文档
//				client.add(docs);
//				client.commit();
//				logger.info("build index success,commited index count : " + indexCount);
//			}
//			
//		} catch (Exception e) {
//			isOk = false;
//			logger.info("build index error,commited index count : " + indexCount);
//			logger.info(e.toString());
//			e.printStackTrace();
//		}
//		return isOk; 
//	}
	
	/**
	 * @param collection 保存索引的集合
	 * @param bean	需要删除索引的bean对象
	 * @return 
	 */
//	public boolean deleteByName(String collection, WsMergedMediaImageBean bean) {
//		//设置查询集合
//		client.setDefaultCollection(collection);
//		boolean isOk = true;
//		try {
//			client.deleteByQuery("name:" + bean.getName());
//			//client.deleteById(bean.getC2code());
//			client.commit();
//		} catch (Exception e) {
//			isOk = false;
//			e.printStackTrace();
//		}
//		return isOk; 
//	}
	
	/**
	 * @param collection 保存索引的集合
	 * @param bean	需要删除索引的bean对象
	 * @return 
	 */
//	public boolean deleteByCode(String collection, WsMergedMediaImageBean bean) {
//		//设置查询集合
//		client.setDefaultCollection(collection);
//		boolean isOk = true;
//		try {
//			//client.deleteByQuery("name:" + bean.getName());
//			client.deleteById(bean.getC2code());
//			client.commit();
//		} catch (Exception e) {
//			isOk = false;
//			e.printStackTrace();
//		}
//		return isOk; 
//	}
	/**
	 * @param collection 保存索引的集合
	 * @param bean	需要删除索引的bean对象
	 * @return 
	 */
	public boolean deleteByCode(String collection, List<String> ids) {
		//设置查询集合
		client.setDefaultCollection(collection);
		boolean isOk = true;
		try {
			if (ids.size() > 0) {
				client.deleteById(ids);
				client.commit();
			}
		} catch (Exception e) {
			isOk = false;
			e.printStackTrace();
		}
		return isOk; 
	}
	
	public String getCollection() {
		return collection;
	}
	
	public String getQueryField() {
		return queryField;
	}
	
	public String getQueryFieldPinYin() {
		return queryFieldPinYin;
	}
	
	public String getFieldList() {
		return fieldList;
	}
	
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值