连接 ES_演示|学习笔记

简介: 快速学习连接 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也可以加进来,导入之后刷新一下,可以再测试一下。

相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。 &nbsp;
相关文章
|
4天前
|
数据采集 人工智能 安全
|
13天前
|
云安全 监控 安全
|
5天前
|
自然语言处理 API
万相 Wan2.6 全新升级发布!人人都能当导演的时代来了
通义万相2.6全新升级,支持文生图、图生视频、文生视频,打造电影级创作体验。智能分镜、角色扮演、音画同步,让创意一键成片,大众也能轻松制作高质量短视频。
1111 152
|
18天前
|
机器学习/深度学习 人工智能 自然语言处理
Z-Image:冲击体验上限的下一代图像生成模型
通义实验室推出全新文生图模型Z-Image,以6B参数实现“快、稳、轻、准”突破。Turbo版本仅需8步亚秒级生成,支持16GB显存设备,中英双语理解与文字渲染尤为出色,真实感和美学表现媲美国际顶尖模型,被誉为“最值得关注的开源生图模型之一”。
1787 9
|
10天前
|
人工智能 自然语言处理 API
一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸
一句话生成拓扑图!next-ai-draw-io 结合 AI 与 Draw.io,通过自然语言秒出架构图,支持私有部署、免费大模型接口,彻底解放生产力,绘图效率直接爆炸。
711 152
|
7天前
|
SQL 自然语言处理 调度
Agent Skills 的一次工程实践
**本文采用 Agent Skills 实现整体智能体**,开发框架采用 AgentScope,模型使用 **qwen3-max**。Agent Skills 是 Anthropic 新推出的一种有别于mcp server的一种开发方式,用于为 AI **引入可共享的专业技能**。经验封装到**可发现、可复用的能力单元**中,每个技能以文件夹形式存在,包含特定任务的指导性说明(SKILL.md 文件)、脚本代码和资源等 。大模型可以根据需要动态加载这些技能,从而扩展自身的功能。目前不少国内外的一些框架也开始支持此种的开发方式,详细介绍如下。
475 5
|
12天前
|
人工智能 安全 前端开发
AgentScope Java v1.0 发布,让 Java 开发者轻松构建企业级 Agentic 应用
AgentScope 重磅发布 Java 版本,拥抱企业开发主流技术栈。
666 14