zoukankan      html  css  js  c++  java
  • ElasticSearch--------------------->Elasticsearch Clients--------------------->JAVA API-------------------->调用ES的第一个Java Project(不使用maven)

    概述:

    • elasticsearch支持多种client,并且为不同的client分别封装出了相应的api,开发者直接调用相应的api即可在自己的client工程中调用es提供的功能
    • 本文讲述elasticsearch所提供的Java API,具体讲述如何写出第一个调用ES的Java project
    • es官网上讲述了如何使用maven这个管理工具来进行es项目的创建,但是由于公司代理环境使得eclipse无法访问maven远程仓库,所以我们的开发用不了maven,因而自己想办法创建不依赖于maven的JavaProject去调用ES所提供的Java API
    • 除此之外,这个教程也比较适用于不熟悉maven的Java程序员,因为本文所述操作过程不涉及maven的使用

    开发环境:

    • JDK 8
    • eclipse
    • Windows
    • elasticsearch5

    编程思路:

    • step1, 在eclipse中创建Java project
      • (由于这个操作十分简单,本文不做赘述,不懂得童鞋请自行百度)
    • step2,在你的project中导入Elasticsearch相关jar包
      • step1中创建的Java project会自动包含JDK中的相关jar包,这些jar包存放在JRE System Library目录下,如下图
          • 有了JDK相关的jar包,你也只能开发Java EE project,因为上述这些jar包只提供Java EE相应的jar包

      • 要想你自己的project中可以调用elasticsearch提供的Java API,首先要在你的project中引入ES所提供的相关jar包,至于如何引入以及应该引入哪些jar包,参见下述内容
      • 首先在自己的project中新建  lib文件夹
      • 然后将下面列表中的jar包复制粘贴至lib文件夹下
          • 如果你不知道从哪里下载上述这些jar包,可以从下面的网址下载:

          • 下载上述所有jar包的网址:http://download.csdn.net/download/napoay/9817575,从这个网址下载下来的是一个maven project,我们只需要该project中的相应jar包,这些jar包就存在于该工程的“es5 argetdependency”文件夹下,你只需要拷贝该文件夹下的所有jar包到自己的Project的lib文件夹下即可
      • 最后鼠标放在你的project name上,右键-------》properties----------》Java build path-------》add jars--------》lib----选中lib 目录下所有jar包--------》确定--------》apply
      • 如果上面的操作成功,你会看到你的project的Referenced Libraries目录下会多出上面你导入的所有jar包
    • step3,编写相应的程序调用elasticsearch提供 的JAVA API
      • 现在已经导入了ES开发所必须的jar包,下面就可以编写相应的Java 程序调用ES提供的Java API ,从而使用ES所提供的功能
      • 为了简单起见,下面粘贴一个示例程序,其中包含了main函数,可以直接运行此程序,得到运行结果
      • package helloworld;
        
        import java.net.InetAddress;
        import org.elasticsearch.action.get.GetResponse;
        import org.elasticsearch.client.transport.TransportClient;
        import org.elasticsearch.common.settings.Settings;
        import org.elasticsearch.common.transport.InetSocketTransportAddress;
        import org.elasticsearch.transport.client.PreBuiltTransportClient;
        
        public class HelloWorld {
            public static void main(String[] args) {
        
                try {
        
                    //璁剧疆闆嗙兢鍚嶇О
                    Settings settings = Settings.builder().put("cluster.name", "elasticsearch").build();
                    //鍒涘缓client
                    TransportClient client = new PreBuiltTransportClient(settings)
                            .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("127.0.0.1"), 9300));
                    //鎼滅储鏁版嵁
                    GetResponse response = client.prepareGet("megacorp", "employee", "1").execute().actionGet();
                    //杈撳嚭缁撴灉
                    System.out.println(response.getSourceAsString());
                    //鍏抽棴client
                    client.close();
        
                } catch (Exception e) {
                    e.printStackTrace();
                }
        
            }
        }
  • 相关阅读:
    pl/sql优化策略 老猫
    游标调用函数 老猫
    oracle性能检测sql语句 老猫
    Oracle高级SQL培训与讲解 老猫
    Oracle执行计划详解 老猫
    SQL中获取树形结构所有子级数据
    纯 CSS 实现的下拉菜单
    Node.JS 异步遍历目录
    Node.JS 的安装与入门
    Node.JS 的模块管理介绍
  • 原文地址:https://www.cnblogs.com/lxrm/p/7194064.html
Copyright © 2011-2022 走看看