Elasticsearch基本使用详解

文章目录

  • Elasticsearch基本使用详解
    • 一、引言
    • 二、环境搭建
      • 1、安装 Elasticsearch
      • 2、安装 Kibana(可选)
    • 三、索引操作
      • 1、创建索引
      • 2、查看索引
      • 3、删除索引
    • 四、数据操作
      • 1、插入数据
      • 2、查询数据
        • (1)简单查询
        • (2)多字段查询
        • (3)高亮显示
    • 五、总结

Elasticsearch基本使用详解

在这里插入图片描述

一、引言

Elasticsearch 是一款基于 Lucene 构建的开源分布式全文搜索引擎,以其强大的搜索功能和灵活的数据处理能力而广泛应用于日志分析、全文检索、实时数据分析等场景。本文将详细介绍 Elasticsearch 的基本使用方法,包括环境搭建、索引操作、数据插入与查询等,帮助读者快速上手。

二、环境搭建

1、安装 Elasticsearch

  • 下载与安装:访问 Elasticsearch 官方下载页面,根据操作系统选择合适的版本进行下载。下载完成后,解压到本地目录。

  • 启动服务:在解压后的 bin 目录下,运行 elasticsearch.bat(Windows)或 elasticsearch(Linux/macOS)启动 Elasticsearch。

  • 验证安装:打开浏览器访问 http://localhost:9200,如果返回类似以下的 JSON 响应,说明安装成功:

    JSON复制

    {
      "name": "my-node",
      "cluster_name": "my-cluster",
      "cluster_uuid": "xxxxxx",
      "version": {
        "number": "8.x.x",
        "build_flavor": "default",
        "build_type": "tar",
        "build_hash": "xxxxxx",
        "build_date": "xxxxxx",
        "build_snapshot": false,
        "lucene_version": "xxxxxx",
        "minimum_wire_compatibility_version": "xxxxxx",
        "minimum_index_compatibility_version": "xxxxxx"
      },
      "tagline": "You Know, for Search"
    }
    

2、安装 Kibana(可选)

Kibana 是 Elasticsearch 的可视化工具,方便进行数据管理和查询操作。

  • 下载与安装:访问 Kibana 官方下载页面,下载与 Elasticsearch 版本匹配的 Kibana。
  • 启动服务:在解压后的 bin 目录下,运行 kibana.bat(Windows)或 kibana(Linux/macOS)启动 Kibana。
  • 访问 Kibana:打开浏览器访问 http://localhost:5601,通过 Kibana 的界面可以方便地管理 Elasticsearch 索引和数据。

三、索引操作

1、创建索引

创建索引时可以指定索引名称和一些配置参数,如分片数和副本数。

JSON复制

PUT /my_index
{
  "settings": {
    "number_of_shards": 3,
    "number_of_replicas": 1
  }
}
  • 说明number_of_shards 表示主分片数量,number_of_replicas 表示副本数量。分片和副本的数量可以根据集群规模和数据量进行调整。

2、查看索引

通过以下命令可以查看索引的详细信息。

JSON复制

GET /my_index
  • 返回结果:返回的 JSON 数据中包含索引的配置信息、状态等。

3、删除索引

如果不再需要某个索引,可以通过以下命令删除。

JSON复制

DELETE /my_index
  • 注意事项:删除索引会丢失该索引中的所有数据,操作前需谨慎确认。

四、数据操作

1、插入数据

向索引中插入数据时,需要指定索引名称、文档 ID(可选)和数据内容。

JSON复制

POST /my_index/_doc/1
{
  "name": "John Doe",
  "age": 30,
  "email": "john.doe@example.com"
}
  • 说明_doc 是默认的文档类型(Elasticsearch 7.x 及以上版本中文档类型已废弃,但仍然可以使用默认类型 _doc)。如果不指定文档 ID,Elasticsearch 会自动生成一个。

2、查询数据

(1)简单查询

使用 match 查询可以对某个字段进行全文检索。

JSON复制

GET /my_index/_search
{
  "query": {
    "match": {
      "name": "John"
    }
  }
}
  • 说明:该查询会返回 name 字段中包含“John”的所有文档。
(2)多字段查询

如果需要在多个字段中进行搜索,可以使用 multi_match 查询。

JSON复制

GET /my_index/_search
{
  "query": {
    "multi_match": {
      "query": "John Doe",
      "fields": ["name", "email"]
    }
  }
}
  • 说明:该查询会在 nameemail 字段中搜索包含“John Doe”的文档。
(3)高亮显示

为了突出显示搜索结果中的匹配内容,可以使用 highlight 功能。

JSON复制

GET /my_index/_search
{
  "query": {
    "match": {
      "name": "John"
    }
  },
  "highlight": {
    "fields": {
      "name": {}
    }
  }
}
  • 返回结果:匹配的字段内容会以高亮形式返回,例如:

    JSON复制

    {
      "hits": {
        "total": {
          "value": 1,
          "relation": "eq"
        },
        "max_score": 1.0,
        "hits": [
          {
            "_index": "my_index",
            "_type": "_doc",
            "_id": "1",
            "_score": 1.0,
            "_source": {
              "name": "John Doe",
              "age": 30,
              "email": "john.doe@example.com"
            },
            "highlight": {
              "name": ["<em>John</em> Doe"]
            }
          }
        ]
      }
    }
    

五、总结

本文详细介绍了 Elasticsearch 的基本使用方法,包括环境搭建、索引操作和数据操作。通过这些基础操作,读者可以快速入门并开始使用 Elasticsearch 进行数据存储和检索。Elasticsearch 的强大功能不仅限于此,它还支持复杂的查询、聚合分析、集群管理等高级功能,值得深入学习和探索。


版权声明:本博客内容为原创,转载请保留原文链接及作者信息。

参考文章

  • 搜索中间件 ELASTICSEARCH 思维导图-java架构 代码示例
  • ElasticSearch篇——初始、认识、拿下ElasticSearch,一篇文章带你入门ES,涵盖ES概念,对比Solr,ES核心概念以及常见工具head、kibana安装和使用,保姆级教程!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/965425.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

点(线)集最小包围外轮廓效果赏析

“ 图像、点集、线集合最小外轮廓计算应用较为广泛&#xff0c;如抠图、神奇选择、LOD、碰撞检查等领域&#xff0c;提高场景效率” 1.前言 作者基于递归迭代求解实现点集的最小外轮廓计算&#xff0c;在CGLib库中实现&#xff0c;已集成于CGViewer&#xff0c;可联系作者试用&…

IOPS与吞吐量、读写块大小及延迟之间的关系

IOPS&#xff08;每秒输入/输出操作次数&#xff09;、吞吐量、读写块大小及延迟是衡量存储系统性能的四个关键指标&#xff0c;它们之间存在密切的关系。以下从多个方面详细说明这些指标之间的关系&#xff1a; 1. IOPS与吞吐量的关系 公式关系&#xff1a;吞吐量&#xff0…

FPGA与ASIC:到底选哪个好?

不少人想转行FPGA&#xff0c;但在ASIC和FPGA之间犹豫不决。要做出选择&#xff0c;首先需要清楚两者的区别和各自特点。 FPGA (Field Programmable Gate Array) 是一种现场可编程门阵列芯片&#xff0c;本质上它是一种半定制的芯片&#xff0c;可以根据需要重新编程&#xff…

LLMs之data:synthetic-data-generator的简介、安装和使用方法、案例应用之详细攻略

LLMs之data&#xff1a;synthetic-data-generator的简介、安装和使用方法、案例应用之详细攻略 目录 synthetic-data-generator的简介 1、核心功能和优势 2、特点 synthetic-data-generator的安装和使用方法 1、安装 pip安装 安装依赖项 运行应用 2、使用方法 快速入…

第二天:系统从BIOS/UEFI到GRUB/bootloader的启动过程

目录 **一、BIOS/UEFI初始化阶段****二、引导加载程序&#xff08;GRUB&#xff09;的启动过程****1. BIOS模式下的GRUB分阶段加载****2. UEFI模式下的GRUB加载** **三、操作系统内核加载与初始化****四、关键组件与配置文件****五、故障排查与恢复****总结**常见问题如何在UEF…

113,【5】 功防世界 web unseping

进入靶场 代码审计 <?php // 高亮显示当前 PHP 文件的源代码&#xff0c;方便开发者查看代码结构和内容 highlight_file(__FILE__);// 定义一个名为 ease 的类 class ease {// 私有属性 $method&#xff0c;用于存储要调用的方法名private $method;// 私有属性 $args&…

图解BWT(Burrows-Wheeler Transform) 算法

Burrows-Wheeler Transform (BWT) 是一种数据转换算法, 主要用于数据压缩领域. 它由 Michael Burrows 和 David Wheeler 在 1994 年提出, 广泛应用于无损数据压缩算法(如 bzip2)中. BWT 的核心思想是通过重新排列输入数据, 使得相同的字符更容易聚集在一起, 从而提高后续压缩算…

DeepSeek辅助学术写作【句子重写】效果如何?

句子重写(功能指数:★★★★★) 当我们想引用一篇文章中的一-些我们认为写得很好的句子时&#xff0c;如果直接将原文加人自己的文章&#xff0c;那么即使我们标注上了引用&#xff0c;也依旧会被查重软件计算在重复比例中。查重比例过高的话&#xff0c;会影响投稿或毕业答辩送…

【CAD】卸载清理注册表后安装失败/错误 1402无法打开主键:UNKNOWN Components DAFE。。。

这是因为注册表中的 CurrentVersion\Installer\UserData二级子目录中Components的文件缺少权限&#xff0c;只需要将权限添加为administors即可 一图流&#xff0c;就是把权限给到Administrators&#xff0c;然后就再以管理员权限安装就可以了&#xff0c;还有如果破解的软件可…

w192中国陕西民俗网的设计与实现

&#x1f64a;作者简介&#xff1a;多年一线开发工作经验&#xff0c;原创团队&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的网站项目。 代码可以查看文章末尾⬇️联系方式获取&#xff0c;记得注明来意哦~&#x1f339;赠送计算机毕业设计600个选题excel文…

2.6日学习总结

题目一&#xff1a; AC代码&#xff1a; #include <stdio.h>// 宏 _for 用于简化 for 循环 #define _for(i, a, b) for (int i (a); i < (b); i)// 最大节点数 #define MAXN 1000010// 树节点结构体 typedef struct {int left;int right; } Node;// 树节点数组 Nod…

【数据结构】(4) 线性表 List

一、什么是线性表 线性表就是 n 个相同类型元素的有限序列&#xff0c;每一个元素只有一个前驱和后继&#xff08;除了第一个和最后一个元素&#xff09;。 数据结构中&#xff0c;常见的线性表有&#xff1a;顺序表、链表、栈、队列。 二、什么是 List List 是 Java 中的线性…

工控机的主要功能有那些?

工控机的主要功能包括&#xff1a;数据采集与处理&#xff0c;工控机可以连接多种传感器和输入设备&#xff0c;实时采集数据&#xff0c;并进行必要的处理和分析。其次 就是控制执行&#xff1a;在自动化生产线或机器人控制系统中&#xff0c;工控机根据预设的程序或实时数据执…

链式结构二叉树(递归暴力美学)

文章目录 1. 链式结构二叉树1.1 二叉树创建 2. 前中后序遍历2.1 遍历规则2.2 代码实现图文理解 3. 结点个数以及高度等二叉树结点个数正确做法&#xff1a; 4. 层序遍历5. 判断是否完全二叉树 1. 链式结构二叉树 完成了顺序结构二叉树的代码实现&#xff0c;可以知道其底层结构…

凝思60重置密码

凝思系统重置密码 - 赛博狗尾草 - 博客园 问题描述 凝思系统进入单用户模式&#xff0c;在此模式下&#xff0c;用户可以访问修复错误配置的文件。也可以在此模式下安装显卡驱动&#xff0c;解决和已加载驱动的冲突问题。 适用范围 linx-6.0.60 linx-6.0.80 linx-6.0.100…

MDPI的论文书写

一、作者信息 二、摘要 1、先写背景&#xff0c;将问题放到大背景里面&#xff0c;然后重点说明研究的目的。

2-kafka服务端之延时操作实现原理

文章目录 背景案例延时生产实现原理延时拉取实现原理 总结 背景 上篇我们说到了kafka时间轮是延时操作内部实现的重要数据结构&#xff0c;这篇我们来说下kafka内部的延时操作实现原理。这里我们以延时生产和延时拉取为例说明延时操作的实现原理。 案例 延时生产 我们知道如…

无心剑七绝《深度求索》

七绝深度求索 深研妙理定乾坤 度世玄机启智门 求路千难兼万险 索萦华夏自为尊 2025年2月1日 平水韵十三元平韵 无心剑七绝《深度求索》以平水韵十三元平韵写成&#xff0c;意境深远&#xff0c;气势磅礴。诗中“深研妙理定乾坤”开篇点题&#xff0c;展现出对深奥道理的钻研与探…

C++多级指针图解

AudioResample **pResample 指针的地址图解AudioResample **pResample; // pResample 存储 AudioResample* 的地址 AudioResample *ar *pResample; // ar 现在指向 AudioResample 结构体 pResample → 指向 AudioResample* 的地址 (0x2000)*pResample → 取出 AudioResample…

oracle基础语法

oracle基础语法 1、增删改查1.1查询语句1.2 修改语句1.3 删除表1.4 删除数据1.5 增加数据1.6 创建视图1.7 添加视图字段注释 1、增删改查 oracle与sql server语法上大致相同&#xff0c;但有些细微的不同&#xff0c;以下是我个人记录工作中常用到的一些语法句。 1.1查询语句…