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

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
实时计算 Flink 版,5000CU*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://www.elastic.co/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 是一个功能强大的工具,随着你对它的深入了解,你会发现更多高级特性和应用场景。

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
目录
相关文章
|
23天前
|
缓存 Prometheus 监控
Elasticsearch集群JVM调优设置合适的堆内存大小
Elasticsearch集群JVM调优设置合适的堆内存大小
192 1
|
2天前
|
弹性计算 运维 Serverless
超值选择:阿里云Elasticsearch Serverless在企业数据检索与分析中的高性能与灵活性
本文介绍了阿里云Elasticsearch Serverless服务的高性价比与高度弹性灵活性。
|
2天前
|
存储 人工智能 API
(Elasticsearch)使用阿里云 infererence API 及 semantic text 进行向量搜索
本文展示了如何使用阿里云 infererence API 及 semantic text 进行向量搜索。
|
26天前
|
缓存 监控 Java
Elasticsearch集群JVM调优
Elasticsearch集群JVM调优
41 5
|
23天前
|
存储 缓存 监控
Elasticsearch集群JVM调优堆外内存
Elasticsearch集群JVM调优堆外内存
44 1
|
23天前
|
监控 Java 测试技术
Elasticsearch集群JVM调优垃圾回收器的选择
Elasticsearch集群JVM调优垃圾回收器的选择
39 1
|
26天前
|
监控 安全 网络安全
Elasticsearch集群的网络设置
Elasticsearch集群的网络设置
31 3
|
27天前
|
缓存 监控 安全
优化Elasticsearch 集群配置
优化Elasticsearch 集群配置
63 4
|
26天前
|
存储 监控 固态存储
Elasticsearch集群硬件与资源分配
Elasticsearch集群硬件与资源分配
34 2
|
26天前
|
存储 JSON Java
ELK 圣经:Elasticsearch、Logstash、Kibana 从入门到精通
ELK是一套强大的日志管理和分析工具,广泛应用于日志监控、故障排查、业务分析等场景。本文档将详细介绍ELK的各个组件及其配置方法,帮助读者从零开始掌握ELK的使用。

相关产品

  • 检索分析服务 Elasticsearch版