当前位置:  首页>> 技术小册>> ElasticSearch零基础到实战

一、ElasticSearch简介
ElasticSearch是一个开源的分布式搜索和分析引擎,基于Lucene搜索引擎库,提供了实时分析、可扩展性和复杂搜索功能。ElasticSearch能够处理各种类型的数据,包括结构化、半结构化和非结构化数据,并能够以极快的速度进行搜索、聚合和分析。ElasticSearch的数据模型是基于文档的,它将每个文档看作是一个JSON对象,并将其存储在索引中。

ElasticSearch使用RESTful API作为主要的接口方式,支持多种语言的客户端库,如Java、Python、Ruby等。ElasticSearch还提供了强大的聚合功能,可用于数据分析、数据挖掘、业务监控等场景。

二、ElasticSearch的安装

ElasticSearch的安装有多种方式,这里介绍使用官方提供的安装包方式。

下载安装包
从ElasticSearch的官方网站下载最新版本的安装包,下载地址为:https://www.elastic.co/downloads/elasticsearch。

解压安装包
将下载的安装包解压到指定的目录下,例如:

  1. tar -zxvf elasticsearch-7.12.0-linux-x86_64.tar.gz -C /usr/local/

配置环境变量
将ElasticSearch的可执行文件路径添加到系统环境变量中,例如:

  1. export PATH=$PATH:/usr/local/elasticsearch-7.12.0/bin

启动ElasticSearch
在终端中执行以下命令启动ElasticSearch:

  1. elasticsearch

启动后,可以使用curl命令测试ElasticSearch是否正常运行:

  1. curl http://localhost:9200/

如果返回以下结果,则说明ElasticSearch已经正常启动:

  1. {
  2. "name" : "hostname",
  3. "cluster_name" : "elasticsearch",
  4. "cluster_uuid" : "xxxxx",
  5. "version" : {
  6. "number" : "7.12.0",
  7. "build_flavor" : "default",
  8. "build_type" : "tar",
  9. "build_hash" : "xxxxx",
  10. "build_date" : "2021-03-18T06:17:15.410153305Z",
  11. "build_snapshot" : false,
  12. "lucene_version" : "8.8.0",
  13. "minimum_wire_compatibility_version" : "6.8.0",
  14. "minimum_index_compatibility_version" : "6.0.0-beta1"
  15. },
  16. "tagline" : "You Know, for Search"
  17. }

三、使用Java API操作ElasticSearch

Java API是操作ElasticSearch的主要方式之一,使用Java API可以更加方便地进行索引、查询、删除等操作。下面介绍如何使用Java API创建索引和添加文档。

添加依赖
在使用Java API之前,需要添加ElasticSearch的Java客户端库依赖。可以在使用Java API之前,需要添加ElasticSearch的Java客户端库依赖。可以使用Maven或Gradle等构建工具添加依赖,例如:

  1. <!-- Maven依赖 -->
  2. <dependency>
  3. <groupId>org.elasticsearch.client</groupId>
  4. <artifactId>elasticsearch-rest-high-level-client</artifactId>
  5. <version>7.12.0</version>
  6. </dependency>

创建连接
在使用Java API之前,需要创建连接到ElasticSearch集群的客户端对象。可以使用RestHighLevelClient类创建客户端对象,例如:

  1. RestHighLevelClient client = new RestHighLevelClient(
  2. RestClient.builder(new HttpHost("localhost", 9200, "http")));

创建索引
创建索引的操作需要使用IndexRequest对象和IndexResponse对象。IndexRequest对象表示要添加的文档,可以使用JSON字符串或Map对象创建。IndexResponse对象表示添加文档的结果。

  1. // 创建JSON字符串表示的文档
  2. String json = "{\"name\":\"Tom\",\"age\":20}";
  3. // 创建IndexRequest对象
  4. IndexRequest request = new IndexRequest("my_index")
  5. .id("1")
  6. .source(json, XContentType.JSON);
  7. // 执行添加文档操作
  8. IndexResponse response = client.index(request, RequestOptions.DEFAULT);
  9. // 输出添加文档的结果
  10. System.out.println(response.status());

以上代码创建了一个名为my_index的索引,并添加了一个ID为1、内容为{“name”:”Tom”,”age”:20}的文档。执行结果为CREATED,表示添加文档成功。

关闭连接
使用完Java API之后,需要关闭连接。可以使用RestHighLevelClient的close()方法关闭连接。

  1. // 关闭连接
  2. client.close();

小结

本文介绍了ElasticSearch的基本概念、安装方式和Java API的使用方法。ElasticSearch是一个功能强大、易于使用的搜索和分析引擎,可以帮助我们快速地处理大量数据,并从中挖掘有价值的信息。使用Java API可以更加方便地进行索引、查询、删除等操作,帮助我们更好地利用ElasticSearch的功能。


该分类下的相关小册推荐: