00:00
第四章,ES软件的进阶功能。那么首先我们第一个要学的是新版本当中Java API的操作,ES软件新版本的Java API啊,要比早期版本的API呢,相对来说更加简单一些,它简化了很多的操作,有一些我们的概念被废除了之后,它底层的数据结构也会发生变化,那我们使用上其实也会有一些变化。所以我们接下来就一块看看我们的API该如何进行操作。首先我们需要在idea中创建我们的项,并且增加依赖关系,这里我们来操作一下,首先我这里创建新的项。创建我们新的项目的时候,我选择maven,然后选择下一步,那么这个时候我去选择一下,我写上。我们给它简单的写上一下就可以了,那么读入和ID呢,我就写上com.at硅谷点我们的ES啊,点API就可以了,那么下面呢,不用变,把这个呢,我稍微的变一变,然后呢,我们点击完成,点击完成以后,那么在我们这个地方,首先我们要增加依赖关系,在增加依赖关系之前,我先把我的maven先配好。
01:11
那么我的ma在这边,我先打开,点开之后我选择一下我本地的maven啊,我选择一下,选择以后把这个该变的东西我稍微的变一下。我刚才呢,不小心关掉了,我再重新去操作一下我的这个地方,我们来啊,嗯,好,我们点击应用点击OK,那这样的话呢,我们有了ma的环境之后,我增加我们的依赖关系,我们从课件中啊,直接来拷贝我们的依赖就可以了。这个我直接放过来。之前啊已经导入过了,所以我这边的速度是比较快的,那如果大家在导入的时候呢,需要上网呢,去进行下载,这个我们就不考虑了啊,好了,没问的环境应该没有问题了,我们接下来看一看程序该如何来完成,首先我们的第一个我们要获取客户端对象,这句话是什么意思呢?其实啊,我们如果把ES软件当成一个数据库的话,那么它跟连接买蛇口就没有本质上的区别。
02:11
我们连接买购数据库是不是要获取connection连接呀,对吧,那个JDBC,那同样道理啊,我们要想操作ES软件的话,不也得拿到类似的连接对象吗?哎,所以我们这里需要注意一下还有一点。还有一点什么呢?我们之前啊给大家讲的,我们ES服务器用的是安全认证,所以我们这里用Java的客户端也要有安全认证,这个是需要去考虑的,那么他说了,我们首先需要将之前的证书进行一个转换,把咱们的证书转换成CRT证书,诶这是我们需要去转换的,那好了,那么我们这里拷贝一下,拷到我们之前的这个证书,所以我们这里找一下,在我们的这个地方呀,我们之前把证书都放到里面去了,那现在呢,我们进到里面去。
03:01
好了回车,回车以后当前有我们的证书,我把课件当中的指令我们拷贝过来,拷贝过来以后我把这个名称我稍微的变一变,我们叫做ES,我们的API的一个CA证书拷贝一下,在我刚才的这个位置,我准备执行一下,所以呢,我们直接回车,那回车以后看结果,这个时候他让你输入我们的密码,我们之前是没有密码的,所以直接回车。飞车以后,那么这个时候在我们的这个位置,我们刷新,刷新以后它会产生一个CRT证书,这个证书我需要给它下载到我的本地,我一会儿要给它传到我们的idea当中来,是这样的啊好了,那么我们现在就准备我们操作一下了,咱们首先回去,回去以后把刚才的证书放在我的这个地方,我点击new创建一个目录,然后呢,我就写上c ert加个S。把我刚才的这个证书我们复制一下,然后呢,复制到我们的这个位置就可以了。
04:00
诶,好了好了,证书已经准备好了,那么我们接下来就准备创建Java程序来访问我们的ES软件了。首先我们在这里呢,我们点击右键创建我们的包,我们叫com,点艾特硅谷,点我们的elastic search。好,然后点API,我们回车,创建了API包以后,我点击new,我创建一个Java的类,我们就叫做ES client,对吧?然后呢,我们这里给它创建好,然后写成一个main方法可以了,写完main方法以后,那么这里呢,我先创建一个我们的private static,我们的word,我们目的很简单,是要连接我们的ES软件,所以我这里叫init,我们ES的connection,哎,初始化ES的连接,然后呢,我在这个地方我加上一个slow,我们的exception,我们的操作过程当中会发生一些异常,我提前给它抛出去,我们的main方法我们也给它抛出去,然后呢,我们把它放到这里就可以了,我们写上它,我们叫做初始化我们ES服务器的连接。
05:10
好了,然后呢,把这个放到这里,那现在我们如何去建立这个连接呢?其实啊,我们这个连接的过程是比较复杂的,它的这些类啊和代码呢都比较多,我们就不一个一个给大家写了,我们从课件当中把代码我们直接拿过来,拿过来的时候我们这里直接拷贝,然后拷贝到这里就可以了,然后我们直接放过来。这里会有很多红色的这些类说明啊,我们当前没有找到它的依赖关系,这个呢,我们在课件当中,我们其实已经给大家准备好了,我们直接把上面的这些导入的类我们拿过来其实就够了,这个地方把那个import咱们拷贝过来,当前的这个代码应该就没有什么太多的问题了。这里我们需要稍微的注意一下,我们注意什么呢?首先我们需要注意的是我们当前的账号,这个账号和密码是我们之前ES软件的账号密码,这个不要弄错了,还有一个就是我们证书的路径,咱们刚才不是把证书已经准备好了吗?我们这里的证书我们就拿过来啊,我们写上CTS斜杠,我们这里是相对路径,然后呢,把我们的它咱们拷贝过来,嗯,好了。
06:21
接下来我们下面呢,X点509啊,PKCS12啊,这就是我们证书的一些算法了,咱们就不说了,接着往下,下面呢是我们的CA证书,不说了,下面是我的LINUXX1,这个是我当前ES服务器的主机地址啊,你们需要改成你们自己的,这个是9200是默认的端口号,如果你改了的话,你需要把它添加上,还有一个叫HTTPS,因为我这边采用的是安全服务认证,所以我这里的S是需要加上的,不要忘记了啊,其他的东西我觉得就暂时先不用考虑了,然后我们下面会有一个叫client,叫客户端,我通过这个客户端可以构建一个传输对象,ES服务器的传输对象,再通过这个传输对象来构建两个不同的客户端对象。
07:10
这两个客户端对象有什么区别呢?一个是用来做同步操作,一个用来做异步操作。什么叫同步操作?什么叫异步操作呢?很简单,我们的第一个它就叫同步的客户端对象。这个同步的客户端对象呢,它执行完以后,后面的逻辑才能执行,诶我们有这么一个操作,所以我们这里是需要close的,那么我们的同步它是需要关闭我们的传输的,但是呢,我们这个叫异步,什么叫异步呢?异步说的简单点,其实就是多线程,那么所谓的多线程就意味着我们正常的线程执行和我们的异步的客户端访问是不一样的,我们的异步访问它是需要回调方法来得到结果的,这个跟我们同步是不太一样的,所以我们的异步其实是不能关闭的,我们同步是需要关闭的,这个咱们后面讲的时候咱们再说啊。
08:04
好了,那么讲到这儿以后,那么我们现在准备要测试一下,那么咱们这个测试的时候啊,我们就直接运行,看看会不会发生错误就可以了,来我先把这个做掉。我们注掉以后,我们就直接点击右键,我们来看看结果,如果我们的控制台没有发生任何的异常,而且正确的执行完毕,那就说明我们访问成功好了,那么我们最基本的ES服务器的连接就算是正确了。
我来说两句