连接 ES_演示|学习笔记

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 快速学习连接 ES_演示。

开发者学堂课程【ElasticSearch 最新快速入门教程连接 ES_演示】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/642/detail/10635


连接 ES_演示

 

首先建立一个工程,打开 idea,打开之后选择 file,选择新建。

选中创建工程的模板,一般选中的是 quickstart,然后下一步 组织的名称,com.qf,Aetufactid: es-study,然后继续下一步,点 finish。

把之前的一个项目工程关闭,创建完毕 选中 enable Auto-import,导入完毕之后把 Maven 导进来。

把涉及到的依赖直接导进来:

Maven 依赖

--日志格式定制的 maven 依赖需要和资源目录 resources 下的 log4 properties 结合在一起使用一

<dependency>

<groupld>org.apache.logging. log4j</groupld>

<artifactld>log4j-core</artifactld>

<version>2.10.0 </version>

</dependency>

<dependency>

<groupld>org.apache.logging.log4j</groupld>

<artifactld>log4j-api</artifactld>

<version>.0</version>

</dependency>

<es 客户端的依赖,其中 api 包含了一个核心的 TransportClient

<dependency>

<groupld>org.elasticsearch.client</groupld>

<artifactld> transport</artifactld>

-下述通过 el 表达式读取上述 es--version 标签标签体的值-->

<version> S(es-version]</version>

</dependency>

--es 服务器对应的核心依赖--

<dependency>

cgroupld>org.elasticsearch</groupld>

cartifactld>elasticsearch</artifactld>

<version> S(es-version)</version>

</dependency>

--该依赖中自定义了诸如:

data 的注解,作用在实体类之上,用来简化实体类的书写代替 getter/setter 访问器;

除了导入依赖之外,还需要在 idea 中进行配置参考  :

https://jingyan.baidu.com/article/0a52e3f4e..html --

<dependency>

<groupld>org projectlombok</groupld>

<artifactld>lombok</artifactld>

<version>116.20</version>

</dependency>

--用来操作 son 格式数 maven 据的依赖,阿里巴巴公司贡献的,阿里编程规约,p3c--->

<dependency>

<groupld>com.alibaba </groupld>

<artifactld> fastison</artifactld>

<version>1.</version>

</dependency>

<dependency>

<groupld>com.alibaba</groupld>

<artifactld> druid</artifactld>

<version>1.1.9</version>

</dependency>

<!--https://mynrepository.com/artifact/org. nlp/elasticsearch-sal-->

<dependency>

<groupld> org.nlpcn</groupld>

<artifactld> elasticsearch-sql</artifactld>I

<version>6.3.0.0</version>

</dependency>

<dependency>

<groupld>org.elasticsearch</groupld> <artifactid> elasticsearch-X-content</artifactid>

<version>6.5.3</version>

</dependency>

把 ES 集群需要的依赖全部导进来,导入完毕之后,就可以启动程序。没有导入完毕,可以刷新一下。es-version 用来动态读取 properties 这个标签的值,比如说6.5. 3。

这里出错的话,可以把一些没有用到的 jar 包删掉,可以把 log 删掉,比如说 lombok,还有 fastjson 等。

需要一到两个依赖就行,一个是 transport,另一个是 elasticsearch。

下面就开始写代码,首先在写代码之前 一定要保证依赖是正确的。如果错误,后续的操作是不行的。

把自动生成的原程序删除掉,然后我们建立一个指包,右键名称叫做 es 。可以控制台下输出日志的格式,这里创建一下资源目录,叫做 resources。Log4j 可以控制日志输出的格式,创建一个 testES,使用 Java API 操作 ES 集群。

代码:

public class TestES{

/**

连接 es 集群的端口号

*/

private final static int PORT=9300;

private TransportClient client;

/**

*前处理

*/

@Before

public void setup(){

System.out.printIn("前处理操作,用于进行全局的初始化…");

Settings settings=Settings. bullder().put("cluster.name", "bigdata"). build();

Client= Client=null prebuilttransportClient(Settings)

client.addTransportAddresses(new TransportAddress(InetAddress.("JANSON01"), PORT)

new TransportAddress(InetAddress.("JANSON02"),PORT)

new TransportAddress(InetAddress.("JANSON03"),PORT)

}

/**

*正式测试的方法

*/

@Test

public void testEnv(){

System. out printin("正式开始测试…")

System. out printin(" Transport Client 的实例是:"+ Client);

}

@After

public void cleanup(){

System.out.printin(后处理操作,用于进行资源的释放…")

if(clientl=null)

client.close();

下面对全局的 client 进行一个初始化。

构建 client 的实例:

其中有一个类 probuilttransportclient,就可以 null 一下。

用合成的 API 进行初始化,首先 我们要创建一个 settings 的实例。需要创建一个因 inetaddressed 的实例,还有 int的实例。

Inetsocketaddress 构建:

需要传一个 hostname Inetaddress 以及 port 号来进行。首先这是一个主机名 Inet address 的 Transport address。主机名是 JANSON01,端口号就是9300PORT,有异常就 PORT 下,因为现在是测试。

39号异常是因为 setting 子的实例没有准备,里面有一个参数叫做集群名称,Cluster name 后面是参数值 bigdate。

下面看一下实例能否创建,如果能创建证明 客户端和服务器建立了连接,实例能够正常的创建,可以再加上 log4j-core 的依赖,这里有一个 log4j-core 的 API,可以根据提示加进来,可以测试一下。

证明客户端和服务器正常连接上,log4j-2也可以加进来,导入之后刷新一下,可以再测试一下。

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
6月前
|
前端开发
【面试题】如何使用ES6 ... 让代码优雅一点?
【面试题】如何使用ES6 ... 让代码优雅一点?
|
3天前
|
Dubbo Java 应用服务中间件
入门运行Soul
入门运行Soul
25 3
入门运行Soul
|
1月前
|
前端开发 网络协议
Nest.js 实战 (十四):如何获取客户端真实 IP
这篇文章介绍了在Nest.js应用中获取客户端真实IP地址的问题及解决方法。问题出现在使用本地代理时,请求的IP地址总是返回::1或::ffff:127.0.0.1。为解决这个问题,需要确保代理服务器正确设置转发头如X-Forwarded-For或X-Real-IP,后端服务能够读取这些头信息来确定客户端的IP地址。文章以作者自己的OpenResty应用为例,展示了如何通过配置反向代理和设置X-Forwarded-For头来获取真实IP地址,并提供了相关的代码示例。最后,文章提到了使用这个解决方案后的实际效果,例如在操作日志中记录真实IP地址。
|
6月前
|
前端开发
前端 TS 快速入门之二:接口
前端 TS 快速入门之二:接口
61 0
|
6月前
|
前端开发 JavaScript
前端 TS 快速入门之四:函数
前端 TS 快速入门之四:函数
35 0
|
6月前
|
前端开发
【前端学习】—ES6新增的方法有哪些(十五)
【前端学习】—ES6新增的方法有哪些(十五)
|
JSON 前端开发 JavaScript
前端实战【ES6】你会ES6,但是你真的会用吗?
前端实战【ES6】你会ES6,但是你真的会用吗?
140 0
前端实战【ES6】你会ES6,但是你真的会用吗?
|
前端开发
前端学习案例2-es6的拷贝
前端学习案例2-es6的拷贝
39 0
前端学习案例2-es6的拷贝
ES6 从入门到精通 # 08:扩展的对象的功能
ES6 从入门到精通 # 08:扩展的对象的功能
76 0
ES6 从入门到精通 # 08:扩展的对象的功能
|
JSON Java API
连接 ES_演示 | 学习笔记
快速学习连接 ES_演示
连接 ES_演示 | 学习笔记

相关实验场景

更多