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安装和使用,保姆级教程!!!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Intel 与 Yocto 项目的深度融合:全面解析与平台对比

在嵌入式 Linux 领域&#xff0c;Yocto 项目已成为构建定制化 Linux 发行版的事实标准&#xff0c;广泛应用于不同架构的 SoC 平台。Intel 作为 x86 架构的领导者&#xff0c;在 Yocto 生态中投入了大量资源&#xff0c;为其嵌入式处理器、FPGA 和 AI 加速硬件提供了完整的支持…

java命令详解

这里以jdk8为例子&#xff0c;查看默认的垃圾回收器 java -XX:PrintCommandLineFlags -version-XX:UseParallelGC : Parallel Scavenge 和 Parallel Old 组合 -XX:InitialHeapSize268435456 : 初始化堆大小&#xff08;字节&#xff09; -XX:MaxHeapSize4294967296 : 最大堆大…

51单片机看门狗系统

在 STC89C52 单片机中&#xff0c;看门狗控制寄存器的固定地址为 0xE1。此地址由芯片厂商在硬件设计时确定&#xff0c;但是它在头文件中并未给出&#xff0c;因此在使用看门狗系统时需要声明下这个特殊功能寄存器 sfr WDT_CONTR 0xE1; 本案将用一个小灯的工作状况来展示看门…

中间件的概念及基本使用

什么是中间件 中间件是ASP.NET Core的核心组件&#xff0c;MVC框架、响应缓存、身份验证、CORS、Swagger等都是内置中间件。 广义上来讲&#xff1a;Tomcat、WebLogic、Redis、IIS&#xff1b;狭义上来讲&#xff0c;ASP.NET Core中的中间件指ASP.NET Core中的一个组件。中间件…

Unity实现按键设置功能代码

一、前言 最近在学习unity2D&#xff0c;想做一个横版过关游戏&#xff0c;需要按键设置功能&#xff0c;让用户可以自定义方向键与攻击键等。 自己写了一个&#xff0c;总结如下。 二、界面效果图 这个是一个csv文件&#xff0c;准备第一列是中文按键说明&#xff0c;第二列…

独立开发浏览器插件:案例与启示

浏览器插件&#xff08;Browser Extension&#xff09;作为提升用户浏览体验的重要工具&#xff0c;近年来吸引了许多独立开发者的关注。从广告拦截到生产力工具&#xff0c;再到个性化定制功能&#xff0c;浏览器插件的开发为个人开发者提供了一个低成本、高潜力的创业机会。本…

Deep Sleep 96小时:一场没有硝烟的科技保卫战

2025年1月28日凌晨3点&#xff0c;当大多数人还沉浸在梦乡时&#xff0c;一场没有硝烟的战争悄然打响。代号“Deep Sleep”的服务器突遭海量数据洪流冲击&#xff0c;警报声响彻机房&#xff0c;一场针对中国关键信息基础设施的网络攻击来势汹汹&#xff01; 面对美国发起的这场…

基于STM32景区环境监测系统的设计与实现(论文+源码)

1系统方案设计 根据系统功能的设计要求&#xff0c;展开基于STM32景区环境监测系统设计。如图2.1所示为系统总体设计框图。系统以STM32单片机作为系统主控模块&#xff0c;通过DHT11传感器、MQ传感器、声音传感器实时监测景区环境中的温湿度、空气质量以及噪音数据。系统监测环…

Docker 部署教程jenkins

Docker 部署 jenkins 教程 Jenkins 官方网站 Jenkins 是一个开源的自动化服务器&#xff0c;主要用于持续集成&#xff08;CI&#xff09;和持续交付&#xff08;CD&#xff09;过程。它帮助开发人员自动化构建、测试和部署应用程序&#xff0c;显著提高软件开发的效率和质量…

八、Spring Boot 日志详解

目录 一、日志的用途 二、日志使用 2.1 打印日志 2.1.1 在程序中获取日志对象 2.1.2 使用日志对象打印日志 2.2、日志框架介绍 2.2.1 门面模式(外观模式) 2.2.2 门面模式的实现 2.2.3 SLF4J 框架介绍 2.3 日志格式的说明 2.4 日志级别 2.4.1 日志级别的分类 2.4.2…

25寒假算法刷题 | Day1 | LeetCode 240. 搜索二维矩阵 II,148. 排序链表

目录 240. 搜索二维矩阵 II题目描述题解 148. 排序链表题目描述题解 240. 搜索二维矩阵 II 点此跳转题目链接 题目描述 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性&#xff1a; 每行的元素从左到右升序排列。每列的元素从上到…

014-STM32单片机实现矩阵薄膜键盘设计

1.功能说明 本设计主要是利用STM32驱动矩阵薄膜键盘&#xff0c;当按下按键后OLED显示屏上会对应显示当前的按键键值&#xff0c;可以将此设计扩展做成电子秤、超市收银机、计算器等需要多个按键操作的单片机应用。 2.硬件接线 模块管脚STM32单片机管脚矩阵键盘行1PA0矩阵键盘…

将ollama迁移到其他盘(eg:F盘)

文章目录 1.迁移ollama的安装目录2.修改环境变量3.验证 背景&#xff1a;在windows操作系统中进行操作 相关阅读 &#xff1a;本地部署deepseek模型步骤 1.迁移ollama的安装目录 因为ollama默认安装在C盘&#xff0c;所以只能安装好之后再进行手动迁移位置。 # 1.迁移Ollama可…

CMake的QML项目中使用资源文件

Qt6.5的QML项目中&#xff0c;我发现QML引用资源文件并不像QtWidgets项目那样直接。 在QtWidgets的项目中&#xff0c;我们一般是创建.qrc​资源文件&#xff0c;然后创建前缀/new/prefix​&#xff0c;再往该前缀中添加一个图片文件&#xff0c;比如&#xff1a;test.png​。…

SAP HCM 回溯分析

最近总有人问回溯问题&#xff0c;今天把12年总结的笔记在这共享下&#xff1a; 12年开这个图的时候总是不明白是什么原理&#xff0c;教程看N次&#xff0c;网上资料找一大堆&#xff0c;就是不明白原理&#xff0c;后来为搞明白逻辑&#xff0c;按照教材的数据一样做&#xf…

强化学习笔记(5)——PPO

PPO视频课程来源 首先理解采样期望的转换 变量x在p(x)分布下&#xff0c;函数f(x)的期望 等于f(x)乘以对应出现概率p(x)的累加 经过转换后变成 x在q(x)分布下&#xff0c;f(x)*p(x)/q(x) 的期望。 起因是&#xff1a;求最大化回报的期望&#xff0c;所以对ceta求梯度 具体举例…

Linux第105步_基于SiI9022A芯片的RGB转HDMI实验

SiI9022A是一款HDMI传输芯片&#xff0c;可以将“音视频接口”转换为HDMI或者DVI格式&#xff0c;是一个视频转换芯片。本实验基于linux的驱动程序设计。 SiI9022A支持输入视频格式有&#xff1a;xvYCC、BTA-T1004、ITU-R.656&#xff0c;内置DE发生器&#xff0c;支持SYNC格式…

ANSYS Workbench打开cdb文件

背景&#xff1a; 前面一篇文章已经说过ANSYS Mechanical APDL打开cdb文件-CSDN博客&#xff0c;经典ANSYS界面可以打开HyperMesh中生成的cdb文件&#xff0c;如果是workbench&#xff0c;那么该如何操作&#xff1f; 方法&#xff1a; 首先打开ANSYS的workbench软件&#xf…

计算图 Compute Graph 和自动求导 Autograd | PyTorch 深度学习实战

前一篇文章&#xff0c;Tensor 基本操作5 device 管理&#xff0c;使用 GPU 设备 | PyTorch 深度学习实战 本系列文章 GitHub Repo: https://github.com/hailiang-wang/pytorch-get-started PyTorch 计算图和 Autograd 微积分之于机器学习Computational Graphs 计算图Autograd…

探秘Linux IO虚拟化:virtio的奇幻之旅

在当今数字化时代&#xff0c;虚拟化技术早已成为推动计算机领域发展的重要力量。想象一下&#xff0c;一台物理主机上能同时运行多个相互隔离的虚拟机&#xff0c;每个虚拟机都仿佛拥有自己独立的硬件资源&#xff0c;这一切是如何实现的呢&#xff1f;今天&#xff0c;就让我…