1、单条插入(推荐设定主键id防止重复)

public static String addIndex(String index,String type,HashMap<String, Object> hashMap){  
                  hashMap.put("id", "3");  //这里如果不指定id的话elasticsearch会自动创建主键id,
                  hashMap.put("title","双宿双飞从");
                  hashMap.put("describe", "测试123");  
                  hashMap.put("author", "测试doc");  
                TransportClient client=EsClientPool.getInstance().getClient();
                try {  
                    IndexResponse response = client.prepareIndex(index, type,hashMap.get("id").toString())
                            .setSource(hashMap).execute().actionGet();
                    System.out.println(response.getId());
                    return response.getId();  //返回主键
                } catch (Exception e) {
                    // TODO: handle exception
                    return null;
                }finally{
                    client.close();//关闭连接
                }
            }

2、批量插入

public static void addAllIndex(String index,String type,HashMap<String, Object> hashMap){
                      hashMap.put("title","双宿双飞从");
                      hashMap.put("describe", "测试123");  
                      hashMap.put("author", "测试doc");  
                    TransportClient client=EsClientPool.getInstance().getClient();
                    try {
                        BulkRequestBuilder bulkRequest = client.prepareBulk();
                        for (int i = 0; i < 10000; i++) {
                            bulkRequest.add(client.prepareIndex(index, type).setSource(hashMap));
                            // 每1000条提交一次
                            if (i % 10000 == 0) {
                                bulkRequest.execute().actionGet();
                            }
                        }
                    } catch (Exception e) {
                    }finally{
                        client.close();
                    }
            }

elasticsearch 插入数据的更多相关文章

  1. elasticsearch REST API方式批量插入数据

    elasticsearch REST API方式批量插入数据 1:ES的服务地址  http://127.0.0.1:9600/_bulk 2:请求的数据体,注意数据的最后一行记得加换行 { &quo ...

  2. Elasticsearch PUT 插入数据

    { "error": { "root_cause": [ { "type": "illegal_argument_exceptio ...

  3. Python中elasticsearch插入和更新数据的实现方法

    Python中elasticsearch插入和更新数据的实现方法 这篇文章主要介绍了Python中elasticsearch插入和更新数据的实现方法,需要的朋友可以参考下 首先,我的索引结构是酱紫的. ...

  4. elasticsearch(3) 数据操作-更新

    一 更新整个文档 更新整个文档的方法和存放数据的方式是相同的,通过PUT 127.0.0.1/test/test/1  我们可以把test/test/1下的文档更新为新的文档 例: PUT 127.0 ...

  5. python批量插入数据到es和读取es数据

    一.插入数据 1.首先准备类似如下数据 {"_type": "type1", "_id": 1, "_index": & ...

  6. 使用Python对ElasticSearch获取数据及操作

    #!/usr/bin/env python# -*- coding: utf-8 -*-""" @Time : 2018/7/4 @Author : LiuXueWen ...

  7. elasticsearch 冷热数据的读写分离

    步骤 一.冷热分离集群配置 比如三个机器共六个node的es集群. 每个机器上各挂载一个ssd 和 一个sata.每个机器需要启动两个es进程.每个进程对应不同类型的磁盘. 关键配置: node.ma ...

  8. 在ES批量插入数据超时时自动重试

    当我们使用ES批量插入数据的时候,一般会这样写代码: from elasticsearch import Elasticsearch,helpers es =Elasticsearch(hosts=[ ...

  9. Elasticsearch写入数据的过程是什么样的?以及是如何快速更新索引数据的?

    前言 最近面试过程中遇到问Elasticsearch的问题不少,这次总结一下,然后顺便也了解一下Elasticsearch内部是一个什么样的结构,毕竟总不能就只了解个倒排索引吧.本文标题就是我遇到过的 ...

随机推荐

  1. Windows1小时后关机命令

    shutdown -s -t 3600 1.注销当前用户 shutdown - l 该命令只能注销本机用户,对远程计算机不适用. 2.关闭本地计算机 shutdown - s 3.重启本地计算机 sh ...

  2. Unicode字符集和多字节字符集关系

      在计算机中字符通常并不是保存为图像,每个字符都是使用一个编码来表示的,而每个字符究竟使用哪个编码代表,要取决于使用哪个字符集(charset). 在最初的时候,Internet上只有一种字符集—— ...

  3. sql id 或使用nolock

    qlserver 批量插入记录时,对有标识列的字段要设置 set IDENTITY_INSERT 表名 on,然后再执行插入记录操作;插入完毕后恢复为 off 设置 格式:  set IDENTITY ...

  4. cms .net webform去服务器控件标签化 pagebase新版本

    这是最近在干一个webform的cms的时候用起来的,原来虽然做过很多技术,什么remoting,wcf,webservice,可是弄来弄去,最后也没个收藏的地儿,全都放在笔记本儿上了,可是人又懒地可 ...

  5. 学习webservice

    客户端测试页: WebService代码: using System; using System.Collections.Generic; using System.Linq; using Syste ...

  6. eclipse 调试(debug) burpsuite 插件(Extender)

    demo: https://github.com/src-kun/transparent-cap/tree/master/burpsuite 1.打开demo项目: 2.右键项目点击Configure ...

  7. 01深入理解C指针之---指针含义符号

    该系列文章源于<深入理解C指针>的阅读与理解,由于本人的见识和知识的欠缺可能有误,还望大家批评指教. 1.指针的含义: 指针本身也是变量,与其他一般变量不同的是:指针变量中没有存储具体类型 ...

  8. VS MFC RADIO控件 选择

    我们假设有两个RADIO控件:IDC_RADIO_SINGLE和IDC_RADIO_RANGE,我们的目的是默认选种IDC_RADIO_SINGLE控件. 方法一: CheckRadioButton( ...

  9. 多个类的DLL封装及调用

    #define FaceLIBDLL #include "stdafx.h" #include "facedll.h" #include <opencv2 ...

  10. wsgi的学习(1):什么是WSGI

    本文来自:http://www.nowamagic.net/academy/detail/1330310 WSGI,全程是:Web Server Gateway Interface,或者python  ...