solrJ对索引的删除操作
来源:互联网 发布:淘宝加盟哪个公司靠谱 编辑:程序博客网 时间:2024/05/01 11:52
public class SolrUtils {/** * 创建solr服务器连接 * @param coreUrl * 建立连接的solr服务器 * @return */public static SolrServer createSolrServer(String coreUrl) {HttpSolrServer solr = null;try {solr = new HttpSolrServer(coreUrl);solr.setConnectionTimeout(100);solr.setDefaultMaxConnectionsPerHost(100);solr.setMaxTotalConnections(100);} catch (Exception e) {System.out.println("请检查tomcat服务器或端口是否开启!");e.printStackTrace();}return solr;}/** * 根据id从索引中删除记录 * * @param server * @param idName * 主键名 * @param id * 主键值 */public static void deleteById(SolrServer server, String idName, Object id) {try {server.deleteByQuery(idName + ":" + id.toString());server.commit(false, false);// LOG.info("Delete from index by id" + id +// " finished . operate param is:" + idName + ":" + id.toString());} catch (Exception e) {// LOG.error("Delete from index by id" + id + " error, " +// e.getMessage(), e);}}/** * 根据id集合从索引中删除记录 * * @param server * @param ids */public static <T> void deleteByIds(SolrServer server, String idName,List<T> ids) {try {if (ids.size() > 0) {StringBuffer query = new StringBuffer(idName + ":" + ids.get(0));for (int i = 1; i < ids.size(); i++) {if (null != ids.get(i)) {query.append(" OR " + idName + ":"+ ids.get(i).toString());}}server.deleteByQuery(query.toString());server.commit(false, false);// LOG.info("Delete from index by id list" + ids +// " finished .");} else {// LOG.info("Delete ids list is null.");}} catch (Exception e) {// LOG.error("Delete from index by id list" + ids + " error, " +// e.getMessage(), e);e.printStackTrace();}}/** * 根据查询从索引中删除 * * @param server * @param queryString */public static void deleteByQuery(SolrServer server, String query) {try {server.deleteByQuery(query);server.commit(false, false);// LOG.info("Delete from index by query string " + query +// "finished .");} catch (Exception e) {// LOG.error("Delete from index by query Strng " + query + "error, "// + e.getMessage(), e);e.printStackTrace();}}/** * 删除所有索引 * * @param server */public static void deleteAllIndex(SolrServer server) {try {server.deleteByQuery("*:*");server.commit(false, false);// LOG.info("All index delete finished.");} catch (Exception e) {// LOG.error("Delete all index error " + e.getMessage(), e);e.printStackTrace();}}/** * 更新部分索引字段 * * @param server * @param id * 待更新的文档id * @param fieldValue * 待更新的字段名 * @param fieldValue * 要更新的字段值 * @throws IOException * @throws SolrServerException */public static void update(SolrServer server, String fieldName, String id,Object fieldValue) throws IOException, SolrServerException {List<SolrInputDocument> docs = new ArrayList<SolrInputDocument>();HashMap<String, Object> oper = new HashMap<String, Object>();oper.put("set", fieldValue);SolrInputDocument doc = new SolrInputDocument();doc.addField("id", id);doc.addField(fieldName, oper);docs.add(doc);server.add(docs);server.commit();}}
0 0
- solrJ对索引的删除操作
- solrj 对solr 的操作
- SolrJ 操作索引文档
- 4.solrj对索引的增删改查
- solrj的使用,环境准备,工程搭建,索引创建,添加\修改索引,删除索引,查询
- SolrJ的基本操作
- SolrJ的基本操作
- 使用solrj操作solr索引库
- 【原创】Java+solrJ实现对solr索引的增删改查
- solrJ的简单查询操作
- 你不知道的全文检索---solrJ操作solr索引库(二)
- solrj实现基本的添加索引,查询
- solrj 更新部分索引域的值
- 利用Solrj对索引进行增删改查
- 对建立和删除索引的认识
- 利用solrj操作solr的API
- SolrJ是操作Solr的JAVA客户端
- Lucene之SolrJ的相关操作(十一)
- js继承 对象冒充和原型链继承
- java 钩子方法
- 修改tomcat 配置文件解决乱码
- RMAN重新注册备份集简单实验
- 利用ul 和 li 实现导航条上的下拉菜单
- solrJ对索引的删除操作
- 在scrollview中子布局中包含listview如何保证listview高度
- Servlet中接受参数的中文编码处理
- make: Nothing to be done for `all_modules'.问题解决
- 解析<button>和<input type="button"> 的区别
- unity与android交互
- git常用命令
- mysql看到的openstack表
- CSS基本样式一