ElasticSearch 入门指南:从安装配置到核心概念解析

2025-05-15  本文已影响0人  you的日常

引言

ElasticSearch 简介

ElasticSearch 是一个开源的搜索和分析引擎,基于 Apache Lucene 构建。它旨在提供高效的全文搜索、实时数据分析和可扩展性。ElasticSearch 由 Shay Banon 于 2010 年创建,最初是为了解决大规模数据搜索的问题。随着时间的推移,它逐渐发展成为一个功能强大的分布式系统,广泛应用于日志分析、监控、推荐系统等领域。

为什么选择 ElasticSearch

ElasticSearch 因其以下优势而备受欢迎:

image.png

本文目标

本文面向初学者,旨在提供一个系统且易于理解的 ElasticSearch 入门指南。我们将从环境搭建开始,逐步介绍核心概念和基础操作,帮助读者快速掌握 ElasticSearch 的基本用法。


安装 ElasticSearch

系统要求

在安装 ElasticSearch 之前,请确保您的系统满足以下要求:

下载和安装步骤

  1. 下载 ElasticSearch

    • 访问 ElasticSearch 官方网站 下载最新版本的安装包。
    • 选择适合您操作系统的版本(.zip、.tar.gz、.deb、.rpm 等)。
  2. 安装 ElasticSearch

    • Windows
      • 解压下载的 .zip 文件到您希望安装的目录。
      • 进入 bin 目录,运行 elasticsearch.bat 启动 ElasticSearch。
    • macOS
      • 解压下载的 .tar.gz 文件。
      • 进入 bin 目录,运行 ./elasticsearch 启动 ElasticSearch。
    • Linux
      • 解压下载的 .tar.gz 文件。
      • 进入 bin 目录,运行 ./elasticsearch 启动 ElasticSearch。
      • 或者使用包管理器安装(.deb、.rpm),具体步骤请参考官方文档。

验证安装

image.png
  1. 启动 ElasticSearch

    • 按照上述步骤启动 ElasticSearch。
    • 启动后,ElasticSearch 将在默认端口 9200 上运行。
  2. 确认安装成功

    • 打开浏览器,访问 http://localhost:9200

    • 如果看到类似以下的 JSON 响应,说明安装成功:

      {
        "name": "your-node-name",
        "cluster_name": "elasticsearch",
        "cluster_uuid": "your-cluster-uuid",
        "version": {
          "number": "7.x.x",
          "build_flavor": "default",
          "build_type": "tar",
          "build_hash": "your-build-hash",
          "build_date": "your-build-date",
          "build_snapshot": false,
          "lucene_version": "8.x.x",
          "minimum_wire_compatibility_version": "6.x.x",
          "minimum_index_compatibility_version": "6.x.x"
        },
        "tagline": "You Know, for Search"
      }
      
      

配置 ElasticSearch

基本配置文件介绍

ElasticSearch 的主要配置文件是 elasticsearch.yml,位于安装目录的 config 文件夹中。该文件包含了 ElasticSearch 的各种设置,如集群名称、节点名称、网络配置等。

网络配置

要配置 ElasticSearch 的网络设置,请编辑 elasticsearch.yml 文件:

例如:

network.host: 0.0.0.0
http.port: 9200

集群配置(可选)

对于初学者,单节点配置通常就足够了。如果您对集群配置感兴趣,可以在 elasticsearch.yml 中设置以下参数:

例如:

cluster.name: my-cluster
node.name: node-1
discovery.seed_hosts: ["host1", "host2"]
cluster.initial_master_nodes: ["node-1", "node-2"]

image.png

核心概念

索引(Index)

定义索引及其在 ElasticSearch 中的作用

索引(Index)是 ElasticSearch 中存储数据的逻辑命名空间,类似于关系型数据库中的数据库。它包含一组具有相似结构的文档。每个索引可以有自己的设置和映射。

演示创建、查看和删除索引的方法

文档(Document)

介绍文档的 JSON 结构及其意义

文档(Document)是 ElasticSearch 中的基本数据单元,以 JSON 格式存储。每个文档都属于一个索引,并具有唯一的 ID。文档由字段(fields)组成,每个字段都有名称和值。

展示添加、更新和删除文档的操作

上一篇 下一篇

猜你喜欢

热点阅读