Elasticsearch 简单使用
Elasticsearch 安装和基本操作
一、引言
Elasticsearch 是一个基于 Lucene 构建的开源分布式搜索引擎,提供了实时的搜索和数据分析能力。它广泛应用于日志分析、全文搜索、数据可视化等场景。本文将详细介绍 Elasticsearch 的安装步骤及基本操作,包括索引的创建、文档的增删改查、查询操作等。
二、Elasticsearch 安装步骤
2.1 环境准备&下载 Elasticsearch
- 访问 Elasticsearch 下载页面。
- 选择适合您操作系统的版本,下载压缩包。
2.2 解压与安装
在 Linux 或 macOS 中,使用以下命令解压:
tar -xzvf elasticsearch-7.x.x-linux-x86_64.tar.gz
cd elasticsearch-7.x.x/
在 Windows 中,可以使用解压缩工具(如 WinRAR 或 7-Zip)解压缩下载的文件。
2.3 启动 Elasticsearch
在解压目录中,执行以下命令启动 Elasticsearch:
- Linux/Mac:
./bin/elasticsearch
- Windows:
在命令提示符中,转到安装目录的 bin 文件夹,运行:
elasticsearch.bat
2.4 验证安装
打开浏览器,访问 http://localhost:9200。如果安装成功,您将看到如下 JSON 响应:
{"name" : "your-node-name","cluster_name" : "elasticsearch","cluster_uuid" : "some-uuid","version" : {"number" : "7.x.x",...},"tagline" : "You Know, for Search"
}
三、Elasticsearch 的基本操作
3.1 创建索引
索引是 Elasticsearch 中存储和检索数据的基本单位。使用 RESTful API 创建索引。
示例:
PUT /my_index
{"settings": {"number_of_shards": 1,"number_of_replicas": 1},"mappings": {"properties": {"title": {"type": "text"},"content": {"type": "text"},"timestamp": {"type": "date"}}}
}
您可以使用 curl 命令或 Postman 工具进行 API 请求。
3.2 添加文档
将数据添加到索引中称为“索引文档”。使用 POST 请求将文档添加到索引。
示例:
POST /my_index/_doc/1
{"title": "Elasticsearch Basics","content": "This is a beginner's guide to Elasticsearch.","timestamp": "2023-10-10T10:00:00"
}
3.3 查询文档
Elasticsearch 提供了强大的查询功能。使用 GET 请求检索文档。
示例:
GET /my_index/_doc/1
这将返回 ID 为 1 的文档。
3.4 搜索文档
使用 search API 可以进行复杂的查询操作。
示例:
POST /my_index/_search
{"query": {"match": {"content": "guide"}}
}
此查询将返回所有 content 字段中包含“guide”一词的文档。
3.5 更新文档
使用 POST 请求更新文档的某个字段。
示例:
POST /my_index/_doc/1/_update
{"doc": {"content": "This guide is for beginners."}
}
3.6 删除文档
使用 DELETE 请求删除特定文档。
示例:
DELETE /my_index/_doc/1
3.7 删除索引
如果不再需要某个索引,可以使用 DELETE 请求删除整个索引。
示例:
DELETE /my_index
3.8 批量操作
Elasticsearch 还支持批量操作。可以一次性插入多个文档。
示例:
POST /my_index/_bulk
{ "index": { "_id": "2" } }
{ "title": "Learn Elasticsearch", "content": "Learn how to use Elasticsearch effectively." }
{ "index": { "_id": "3" } }
{ "title": "Search Algorithms", "content": "Understanding search algorithms." }
四、查询 DSL(Domain Specific Language)
Elasticsearch 提供了丰富的查询 DSL,允许用户构建复杂的查询。
4.1 基本查询
使用 match 查询匹配特定字段。
{"query": {"match": {"title": "Elasticsearch"}}
}
4.2 组合查询
可以使用 bool 查询组合多个查询条件。
{"query": {"bool": {"must": [{ "match": { "title": "Elasticsearch" }},{ "range": { "timestamp": { "gte": "2023-01-01", "lte": "2023-12-31" }}}]}}
}
4.3 聚合查询
Elasticsearch 的聚合功能强大,可以进行数据统计分析。
示例:
{"aggs": {"content_count": {"terms": {"field": "content.keyword"}}}
}
六、结语
Elasticsearch 是一个强大的搜索引擎,适用于多种数据处理和分析场景。从安装到基本操作,掌握 Elasticsearch 能够大幅提升数据处理的效率和灵活性。
相关文章:
Elasticsearch 简单使用
Elasticsearch 安装和基本操作 一、引言 Elasticsearch 是一个基于 Lucene 构建的开源分布式搜索引擎,提供了实时的搜索和数据分析能力。它广泛应用于日志分析、全文搜索、数据可视化等场景。本文将详细介绍 Elasticsearch 的安装步骤及基本操作,包括索…...
基于SpringBoot+Vue+uniapp微信小程序的垃圾分类系统的详细设计和实现(源码+lw+部署文档+讲解等)
项目运行截图 技术框架 后端采用SpringBoot框架 Spring Boot 是一个用于快速开发基于 Spring 框架的应用程序的开源框架。它采用约定大于配置的理念,提供了一套默认的配置,让开发者可以更专注于业务逻辑而不是配置文件。Spring Boot 通过自动化配置和约…...
基于深度学习的车辆车型检测识别系统(YOLOV5)
界面图: 项目简介: 网络:深度学习网络 yoloV5 软件:PycharmAnaconda 环境:python3.8 opencv PyQt5 torch1.9 文件:训练集8000张图片 测试集1000张图片 系统包含所有文件夹 环境文件 UI文件 功能&a…...
Java开发中知识点整理
正则表达式 测试网址 Git 分支和主分支有冲突 先checkout origin/分支把origin/master pull进本地分支 修改冲突MergeCommit and Push...
【css-在一个元素中设置font-size和实际渲染字体大小不一致】
首先,这个不是bug,是Chromium内核提高移动端文本可读性的一个特性,叫做这个特性被称做「Text Autosizer」,又称「Font Boosting」、「Font Inflation」 解决方案: 使用-webkit-text-size-adjust 给元素设置 -webkit-te…...
LabVIEW提高开发效率技巧----用户权限控制
在LabVIEW开发中,用户权限控制是一个重要的设计模块,尤其在多用户系统中,它可以确保数据安全并控制不同用户的操作权限。为了实现用户权限控制,可以通过角色与权限管理模块来进行设计和实施。以下将从多个角度详细说明如何在LabVI…...
如何快速学会盲打
今天就来给大家分享一下如何快速学会盲打 盲打的基本方法和步骤 手指放置:将双手放在键盘上,左手食指放在F键上,右手食指放在J键上,其他手指分别放在相邻的键位上。熟悉键盘布局:学习26个字母的位置,以及…...
如何通过外链组合套餐提升外贸网站的整体表现?
在SEO优化中,单一的外链形式很难覆盖所有需求,特别是对于那些竞争激烈的行业。通过高低搭配的外链组合套餐成为越来越多企业的选择 简单来说,外链组合套餐是将不同质量、不同类型的外链进行合理搭配,从而最大化地提升网站的多维度…...
MySQL—事务
目录 1.事务的简介: 2.使用事务 2.1 开启事务 2.2 自动提交 2.3 使用范围 2.4 事务的属性 1.事务的简介: 介绍事务之前,我们先来看一个经典的场景:银行转账。 假如a想要把自己的账户上的10万块钱转到b账户上,这…...
二、PyCharm基本设置
PyCharm基本设置 前言一、设置中文汉化二、设置代码字体颜色三、设置鼠标滚轮调整字体大小四、修改 PyCharm 运行内存4.1 方式一4.1 方式二 五、显示 PyCharm 运行时内存六、设置代码模版配置的参数有: 七、PyCharm设置背景图总结 前言 为了让我们的 PyCharm 更好用…...
SSH流量秒变HTTPS —— 筑梦之路
背景说明 很多时候对外开放仅有80 443端口,若想要ssh服务器是比较困难的。这里介绍使用opensslHAProxy绕过限制。 解决思路 把SSH流量伪装成HTTPS流量,从443端口传输。 OpenSSL: 一个强大的开源加密工具包,我们用它来给SSH流量加密,让它看起来像HTTPS。 HAProxy…...
tkinter Listbox 列表框实现多列对齐排列并绑定下拉框和滚动条
from tkinter import * from tkinter import ttk, Button, Canvas, Listbox, Entry, LabelFrame, IntVar, Checkbutton, messageboximport win32print root Tk() root.title("tkinter Listbox 列表框实现多列对齐排列") root.geometry(550x450)def callback2(t, eve…...
Kafka 启用 JMX
以下是在 Kafka 服务启动时启用 JMX 的步骤: 找到 Kafka 的启动脚本,通常在 Kafka 安装目录的 bin 子目录下 编辑启动脚本(例如 kafka-server-start.sh),在其中设置 JMX 参数。 在启动脚本中添加以下环境变量设置&a…...
G1(Garbage First)垃圾回收实战
GC过程 G1(Garbage First)是JVM中的一种垃圾回收器,设计用于处理具有大堆内存的应用程序,减少GC停顿时间,并提供更可预测的垃圾回收性能。G1的垃圾回收过程主要分为以下几个阶段: 1. 年轻代垃圾回收&…...
ESP32-IDF 通用定时器 GPTimer
目录 一、基本介绍1、配置结构体1.1 gptimer_config_t1.2 gptimer_event_callbacks_t1.3 gptimer_alarm_config_t 2、常用 API2.1 gptimer_new_timer2.2 gptimer_del_timer2.3 gptimer_set_raw_count2.4 gptimer_get_raw_count2.5 gptimer_get_resolution2.6 gptimer_get_captu…...
C#学习笔记(十)
C#学习笔记(十) 第七章 对象的构造方法与实例方法一、对象的构造方法1. 构造方法初识2. 构造方法的创建3. this关键字4. 构造方法的规范和重载4.1 构造方法的规范 5. 对象初始化器5.1 对象初始化器和构造方法的区别 二、对象的实例方法1. 简单应用2.实例…...
出手!快手可灵开源版,AI视频生成整合包!
在2024年,人工智能领域迎来了一位新星——AI视频生成技术。在这场技术革命中,快手推出的可灵AI无疑是最耀眼的明星之一。然而,其高昂的年费让不少用户望而却步,毕竟数千元的开销对于普通人来说是个不小的负担。 幸运的是ÿ…...
【Linux】进程池
目录 进程池 进程池的概念: 手搓进程池: 1、创建信道和子进程 2、通过channel控制子进程 3、回收管道和子进程 进程池 进程池的概念: 定义一个池子,在里面放上固定数量的进程,有需求来了,就拿一个池中…...
实验23:DA呼吸灯实验
电路硬件: 实现功能: 代码: public.h #ifndef _public_H #define _public_H#include "reg52.h" //#include "key.h"typedef unsigned int u16; typedef unsigned char u8;void delay_10us(u16 n); void delay_ms(u16 ms);#endif public.c #include …...
安科瑞智慧能源管理系统EMS3.0在浙江某能源集团有限公司的应用
安科瑞戴婷 Acrel-Fanny 一、项目背景 浙江某能源集团有限公司位于浙江省宁波前湾新区,主营业务范围包括了储能技术服务,光伏风力发电技术服务,充电桩技术服务,新能源项目的施工以及为企业提供配电房运维服务。 随着新能源的兴…...
App Inventor蓝牙调试避坑指南:从连接失败到数据乱码,一次讲清所有常见问题
App Inventor蓝牙调试避坑指南:从连接失败到数据乱码的实战解决方案在移动应用开发领域,蓝牙通信一直是实现设备间短距离数据交换的核心技术之一。对于使用App Inventor的开发者而言,蓝牙模块提供了无需复杂编码即可实现无线通信的便捷途径。…...
对比 Token Plan 与按量计费在 Taotoken 平台上的成本体感差异
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 对比 Token Plan 与按量计费在 Taotoken 平台上的成本体感差异 对于个人开发者或项目管理者而言,在接入大模型服务时&a…...
告别鼠标手!5分钟上手开源鼠标连点器MouseClick,轻松实现自动化点击
告别鼠标手!5分钟上手开源鼠标连点器MouseClick,轻松实现自动化点击 【免费下载链接】MouseClick 🖱️ MouseClick 🖱️ 是一款功能强大的鼠标连点器和管理工具,采用 QT Widget 开发 ,具备跨平台兼容性 。软…...
自制极低频电流探头:负电阻补偿原理与低频方波测量实践
1. 项目概述:为极低频电流测量而生在电子测试领域,电流探头是个再常见不过的工具,无论是排查开关电源的纹波,还是分析电机驱动的波形,都离不开它。但如果你尝试用市面上常见的电流探头去观察一个频率低至几赫兹&#x…...
2026年一键生成论文工具对比实测:5款神器从选题到格式全流程护航
写论文的焦虑,是每个科研人和学生都心照不宣的“隐形压力”。选题无从下手,文献检索耗时费力,逻辑框架反复推翻,格式排版让人抓狂,查重降重更是像在和系统玩“猫鼠游戏”。2026年的AI工具早已不是过去那种“打字机”&a…...
武汉国电华美串联谐振试验装置,现场用着心里有底
在高压试验现场干了这么多年,这位老师傅常说,一台好的串联谐振装置,就是试验人员的胆。面对GIS、大型变压器、超高压电缆这些大电容试品,没有趁手的谐振设备,交流耐压试验根本没法干。16875kVA/225kV这个规格ÿ…...
浏览器指纹识别机制深度剖析与反识别技术实现
一、浏览器指纹技术基础认知1.1 浏览器指纹的核心定义在数字化时代,每一台接入互联网的设备都会留下独特的数字标识,浏览器指纹便是其中最关键的识别凭证之一。浏览器指纹是网站通过 JavaScript 脚本、HTTP 请求头、硬件接口调用等多种技术手段ÿ…...
我们公司全员把 Cursor 换成了自研的 全开源AtomCode
【引子】这是一篇实录——一位 CTO 用 28 天,用 Claude GLM 双模型调度,造出了一个让全公司放弃 Cursor 的工具。然后我意识到我们正在经历的事情,比"换工具"大得多。【读者承诺】接下来 15 分钟,你会拿到三件东西:一个真实案例(28 天 1,146 commits 是怎么做出来的…...
5A智慧景区建设|对标一流!巨有科技打造数智化标杆景区
5A级景区是中国旅游的最高标准,代表着服务与管理的顶尖水平。随着5A评审标准日益严苛,“智慧化”已成为核心硬性指标。然而,不少景区的智慧化建设陷入“重硬件、轻整合”的误区,系统林立、数据孤岛,投入巨大却效果不佳…...
【Veo 2提示词SOP白皮书】:从模糊意图到像素级输出的8步标准化工作流(附NASA级测试用例库)
更多请点击: https://intelliparadigm.com 第一章:Veo 2提示词工程的本质与范式跃迁 Veo 2并非单纯升级的视频生成模型,而是一次提示词工程范式的根本性重构——它将传统“指令式提示”(prompt-as-command)转向“意图…...
