`
gaojingsong
  • 浏览: 1182504 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

【java操作Elasticsearch之增加记录】

阅读更多

Elasticsearch之添加记录操作,核心代码如下:

 

   public static void main(String[] args) throws Exception {

               String url ="http://192.168.1.111:9200/";

               //一、添加单个记录

                UserVO user = new UserVO("庞涓", "地址不详", 1.3, true,39, "2012-09-08");

                System.out.println(JSONObject.fromObject(user));

                 //IndexName/type/id

                doPost(url+"index_users3/userinfo/002",JSONObject.fromObject(user) );

 

                //二、批量添加记录

                 /**

                  The REST API endpoint is /_bulk, and it expects the following JSON structure:

                  action_and_meta_data\n

                  optional_source\n

                  action_and_meta_data\n

                  optional_source\n

                    ....

                   action_and_meta_data\n

                   optional_source\n

                   NOTE: the final line of data must end with a newline character \n.

                  */

 

                 UserVO user1 = new UserVO("庞涓01", "地址不详", 1.3, true,39, "2012-09-08");

                 UserVO user2 = new UserVO("庞涓02", "地址不详", 1.3, true,39, "2012-09-08");

                 List<UserVO> list = new ArrayList<UserVO>();

                 list.add(user1);

                 list.add(user2);

 

                 doPost(url+"index_users3/userinfo/_bulk",list);

 

 

                  }

----------------------------------------------------------------------------------------------------

 VO类

public class UserVO {

   private String name;

   private String address;

   private double sal;

   private boolean sex;

   private int age ;

private String createDate;

 

}

 

公共请求方法

/**

* post请求

* @param url

* @param json

* @return

*/

 

public static JSONObject doPost(String url, JSONObject json) {

        DefaultHttpClient client = new DefaultHttpClient();

        HttpPost post = new HttpPost(url);

        JSONObject response = null;

try {

           StringEntity s = new StringEntity(json.toString(),HTTP.UTF_8);

 

            s.setContentEncoding("UTF-8");

             s.setContentType("application/json;charset=UTF-8");

              // 发送json数据需要设置contentType

              post.setEntity(s);

 

              HttpResponse res = client.execute(post);

                if (res.getStatusLine().getStatusCode() == 200) {

                       HttpEntity entity = res.getEntity();

                      String result = EntityUtils.toString(entity,"UTF-8");// 返回json格式:

                      System.out.println(result);

               }     

            } catch (Exception e) {

               throw new RuntimeException(e);

            }

            return response;

 

         }

 

 

      private static void doPost(String url, List<UserVO> list) {

          StringBuffer sb = new StringBuffer();

          for (UserVO userVO : list) {

                 sb.append("{\"create\" :{ \"_index\" : \"test\"" ).append("}}\n");

                 sb.append(JSONObject.fromObject(userVO)).append("\n");

           }

           System.out.println(sb);

           doPost(url, sb.toString());

 

}

 



 

 

 



 

  • 大小: 31.3 KB
  • 大小: 18.8 KB
  • 大小: 29.1 KB
  • 大小: 19.6 KB
0
1
分享到:
评论

相关推荐

    Elasticsearch工具类

    在Java开发中,我们通常会创建一个专门的工具类来处理Elasticsearch相关的操作,以便更好地管理和控制数据。 在描述中提到,这个工具类支持通过标签注释实体类。这意味着开发者可以使用特定的注解(如@Document、@...

    ElasticSearch.zip

    Elasticsearch(简称 ES)是一种基于 Lucene 的开源全文搜索引擎,被广泛应用于大数据分析、日志收集、实时搜索等领域。它的设计目标是分布式、可扩展、高可用且易用,支持RESTful API,使得与ES交互变得简单。 **...

    分布式搜索 elasticsearch 方案研究 - Java API

    Java API 是 Elasticsearch 提供的客户端库,允许开发者在 Java 应用中直接操作 Elasticsearch。主要包括以下组件: - **TransportClient**:通过 TCP 连接直接与 Elasticsearch 节点通信,适用于跨网络访问。 - **...

    SpringBoot 操作 ElasticSearch6.3.0,提供完整的Util进行增删改查

    在本项目中,我们将探讨如何使用SpringBoot框架与Elasticsearch 6.3.0集成,实现对Elasticsearch数据库的高效操作。SpringBoot简化了配置过程,使得开发者能够快速地构建可部署的Java应用。而Elasticsearch则是一个...

    Springboot1.3.1+elasticsearch1.7.3集群

    4. **文档操作**:Elasticsearch中的文档相当于关系数据库中的记录。可以使用`Index`, `Get`, `Update`, `Delete`等API对文档进行操作。在SpringBoot中,这些操作可以封装在Service层,通过Repository接口的CRUD方法...

    elasticsearch-2016-8最新可用java代码

    本资料“elasticsearch-2016-8最新可用java代码”是针对2016年8月版本的Elasticsearch,提供了使用Java API进行操作的示例代码,对于理解如何在Java应用中集成和操作Elasticsearch具有重要意义。 1. **Elastic...

    01-Elasticsearch学习记录1

    结合给定的标签"elasticsearch"和"java",我们可以推断这篇记录可能与使用Java API操作Elasticsearch有关。 首先,搜索优化是Elasticsearch中至关重要的一个环节。在进行查询时,不是所有字段都需要参与评分(`...

    elasticsearch-7.14.2-windows-x86_64.zip

    Elasticsearch是一个开源的全文搜索引擎...Elasticsearch的强大之处在于它的灵活性和可扩展性,适用于日志分析、实时监控、全文搜索等多种场景。了解并熟练掌握Elasticsearch的使用,将极大地提升数据处理和分析效率。

    ElasticSearch全部学习资料

    - **倒排索引**: ElasticSearch 的基础技术之一,用于快速检索文档。每个不重复的词对应一个包含该词的所有文档 ID 列表。 #### 三、操作 ElasticSearch **3.1 Restful 风格** - **基本概念**: 定义了一种基于 ...

    elasticsearch-analysis-ik-8.2.3

    同时,将插件文件放置在Elasticsearch的`plugins`目录下,并执行重启操作使插件生效。`plugin-security.policy`和`plugin-descriptor.properties`是Elasticsearch插件的安全策略和元数据文件,它们定义了插件的权限...

    esapi-java-legacysource-esapi-2.1.0.1.zip

    ESAPI (Enterprise Security API) 是一个开源项目,由OWASP(Open Web Application Security Project)组织维护,旨在提供一套全面的、统一的安全编程接口,帮助Java开发者编写更安全的应用程序。这个压缩包“esapi-...

    ElasticSearch搜索引擎使用

    - **基于Lucene**: Lucene是一个高性能、全功能的文本搜索引擎库,ElasticSearch在其基础上增加了分布式处理的能力。 - **RESTful Web接口**: 提供了一个简单的HTTP API接口,使得开发者可以通过发送HTTP请求来完成...

    elasticsearch数据库下载、配置、使用案例PPT模板

    - RESTful风格接口,通过HTTP请求操作Elasticsearch。 **2.4 映射与分析器** - **映射(Mapping):** - 定义索引中文档的结构。 - 动态映射:根据文档内容自动创建映射。 - 显示映射:手动定义字段类型。 - *...

    elasticsearch指南

    查询(Query)是Elasticsearch中的核心操作之一,用于在索引中搜索文档。查询可以基于多种类型,例如URI查询和请求正文搜索,还包括短语匹配、组合查询、提高权重、分页、高亮显示等高级功能。 Elasticsearch的集群...

    ElasticSearch中文学习教程

    ElasticSearch运行在Java虚拟机(JVM)之上,因此JVM配置非常重要。主要关注点包括堆内存大小、垃圾回收策略等。 #### 五、源码分析 **6.1. 使用Guice进行依赖注入与模块化系统** ElasticSearch使用Guice框架来管理...

    elasticsearch-analysis-ik-7.6.0

    "elasticsearch-analysis-ik-7.6.0" 是IK分词器的一个特定版本,专为Elasticsearch 7.6.0设计,适用于Windows操作系统。 **IK分词器介绍** IK分词器由Java编写,具有良好的可扩展性和高性能。它能够对中文文本进行...

Global site tag (gtag.js) - Google Analytics