Elasticsearch零基础入门:从安装到入门

目录

一、Elasticsearch简介

二、环境快速搭建

1. 单节点本地部署(Docker版)

2. 验证安装

三、核心概念图解

与传统数据库对比

架构概念说明

四、REST API基础操作

1. 索引管理

2. 文档CRUD操作

五、基础搜索实战

1. 全文搜索

2. 精确匹配

3. 范围查询

4. 组合查询

六、常用辅助工具

1. Kibana Dev Tools

2. Cerebro集群管理工具

七、新手常见问题

1. 索引创建失败

2. 字段类型不匹配

八、下一步学习建议


一、Elasticsearch简介

Elasticsearch是一个开源的分布式搜索和分析引擎,基于Apache Lucene构建。它能实现:

  • 实时数据搜索

  • 复杂数据分析

  • 海量数据存储(PB级)

核心特性

  • 分布式架构

  • RESTful API

  • 近实时搜索(NRT)

  • 多租户支持

二、环境快速搭建

1. 单节点本地部署(Docker版)

# 拉取镜像(以8.9.0版本为例)
docker pull docker.elastic.co/elasticsearch/elasticsearch:8.9.0# 启动容器(开发模式)
docker run -d --name es-node01 \-p 9200:9200 -p 9300:9300 \-e "discovery.type=single-node" \-e "ES_JAVA_OPTS=-Xms1g -Xmx1g" \elasticsearch:8.9.0

2. 验证安装

访问 http://localhost:9200 看到如下响应说明成功:

{"name" : "es-node01","cluster_name" : "docker-cluster","version" : {"number" : "8.9.0","build_flavor" : "default"},"tagline" : "You Know, for Search"
}
 

三、核心概念图解

与传统数据库对比

SQL术语Elasticsearch术语
DatabaseIndex
TableType(已废弃)
RowDocument
ColumnField
SchemaMapping

架构概念说明

  • Node:运行ES实例的服务器

  • Cluster:多个节点的集合

  • Shard:索引的分片(默认主分片数:1)

  • Replica:分片的副本(默认副本数:1)

四、REST API基础操作

1. 索引管理

创建索引(包含自定义mapping):

PUT /books
{"settings": {"number_of_shards": 1,"number_of_replicas": 1},"mappings": {"properties": {"title": { "type": "text" },"author": { "type": "keyword" },"price": { "type": "double" },"publish_date": { "type": "date" }}}
}

查看索引信息

GET /books/_settings
GET /books/_mapping

2. 文档CRUD操作

插入文档

POST /books/_doc/1
{"title": "Elasticsearch权威指南","author": "Clinton Gormley","price": 89.90,"publish_date": "2015-01-01"
}

查询文档

GET /books/_doc/1

更新文档

POST /books/_update/1
{"doc": {"price": 79.90}
}

删除文档

DELETE /books/_doc/1
 

五、基础搜索实战

1. 全文搜索

GET /books/_search
{"query": {"match": {"title": "权威指南"}}
}

2. 精确匹配

GET /books/_search
{"query": {"term": {"author.keyword": "Clinton Gormley"}}
}

3. 范围查询

GET /books/_search
{"query": {"range": {"price": {"gte": 50,"lte": 100}}}
}

4. 组合查询

GET /books/_search
{"query": {"bool": {"must": [{ "match": { "title": "指南" } }],"filter": [{ "range": { "price": { "lte": 100 } } }]}}
}
 

六、常用辅助工具

1. Kibana Dev Tools

提供可视化交互界面,内置控制台可直接执行ES查询:

2. Cerebro集群管理工具

  • 实时查看集群状态

  • 执行索引管理操作

  • 节点监控

七、新手常见问题

1. 索引创建失败

错误现象

{"error": {"root_cause": [{"type": "resource_already_exists_exception","reason": "index [books/xxxx] already exists"}]}
}

解决方案

  • 删除已有索引:DELETE /books

  • 修改索引名称重新创建

2. 字段类型不匹配

错误示例

{"error": {"root_cause": [{"type": "mapper_parsing_exception","reason": "failed to parse field [price] of type [double]"}]}
}

预防措施

  • 提前定义好mapping

  • 使用ignore_malformed参数忽略格式错误

八、下一步学习建议

  1. 掌握Analyzer分词原理

  2. 学习聚合(Aggregation)分析

  3. 了解索引生命周期管理(ILM)

  4. 探索Elastic Stack生态(Logstash、Beats)


资源推荐

  • 官方入门教程

  • Elastic中文社区

  • 《Elasticsearch实战》

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

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

相关文章

数据清理工具——OpenRefine的进阶操作

第二章主要讲OpenRefine的进阶操作,希望能帮助你们! 1.OpenRefine工具的数据排序功能 数据排序是一种常见的数据清理操作,它主要是按照指定方式排列数据,这样不仅可以对数据进行检查和纠错,还可以通过浏览排序后的数…

表格标题竖直

使用文本方式使表格怎么竖列 思路&#xff1a;表格竖直书写&#xff0c;里面的内容水平书写 使用到的是css中的文本效果&#xff1a; writing-mode&#xff1a;书写方式horizontal-tb&#xff1a;水平vertical-rl&#xff1a;竖直<style>table {writing-mode: vertical…

可视化图解算法:链表相加( 两数相加)

1. 题目 描述 假设链表中每一个节点的值都在 0 - 9 之间&#xff0c;那么链表整体就可以代表一个整数。 给定两个这种链表&#xff0c;请生成代表两个整数相加值的结果链表。 数据范围&#xff1a;0≤n,m≤10000000 &#xff0c;链表任意值 0≤val≤9 要求&#xff1a;空间…

YOLOv5

使用Yolov5 什么是PyTorch&#xff1f; PyTorch 是一个基于 Python 的开源机器学习库(深度学习框架)&#xff0c;它主要用于深度学习任务&#xff0c;为构建和训练神经网络提供了灵活且高效的平台&#xff0c;它们提供了完整的生态系统&#xff0c;包括模型定义、训练、验证…

【access开发】导入excel 并生成表

hi&#xff0c;大家好呀&#xff01; 最近天气越来越暖了&#xff0c;在这个春暖花开的季节了&#xff0c;每天心情应该都是美美的&#xff0c;正所谓一年之计在于春&#xff0c;在这个美好的季节&#xff0c;大家一起努力学习学习吧&#xff01;那我们来看看今天学点啥呢&…

查看GPU型号、大小;CPU型号、个数、核数、内存

GPU型号、大小 nvidia-smiCPU型号 cat /proc/cpuinfo | grep model name | uniqCPU个数 cat /proc/cpuinfo | grep "physical id" | uniq | wc -lCPU核数 cat /proc/cpuinfo | grep "cpu cores" | uniqCPU内存 cat /proc/meminfo | grep MemTotal参考…

如何使用AIOps明确Devps的问题归责

引言 拿出一个确凿的证据往往是解决背锅问题的重要办法。只有这样&#xff0c;才能够在没有互相指责、逃避责任或为自己及团队开脱等不良闹剧的情况下达成共识。DevOps 团队可以借助 AIOps 数据支持的可信度&#xff0c;让问题更清晰、背景更明确&#xff0c;从而一致做出更好…

Yolo系列之Yolo v3的概述、网络结构以及与v1,v2对比

Yolo v3的概述、模型理解以及与v1,v2对比 目录 Yolo v3的概述、模型理解以及与v1,v2对比1 YOLOv3概述1.1 概念1.2 主要特点1.3 优缺点 2 网络结构理解2.1 核心网络框架2.2 先验框2.3 特征图2.4 Softmax层替换 3 Yolo v3与v1,v2对比3.1 网络结构3.2 多尺度预测3.3 分类器与损失函…

AIGC工具平台-百叶窗卡点视频

本模块通过智能算法自动分析音频节奏&#xff0c;精准识别高潮卡点&#xff0c;并生成与音乐高度同步的动态视频。同时支持 百叶窗样式的个性化设置&#xff0c;增强视觉冲击力&#xff0c;助力用户打造节奏感强、富有创意的视频作品。 此外用户可灵活管理图片素材&#xff0c…

【原创】通过S3接口将海量文件索引导入elasticsearch

在医院海量影像文件通过s3传到蓝光存储时&#xff0c;要找一个文件需要全部文件遍历一遍&#xff0c;效率非常非常低。 S3 是对象存储服务&#xff0c;本身不是专门为快速文件查找设计的&#xff0c;而 Elasticsearch 是搜索引擎&#xff0c;在查找特定文件或数据方面具有明显…

MyBatis注解方式:从CRUD到数据映射的全面解析

目录 1. MyBatis是什么&#xff1f;2.准备工作2.1创建工程2.2 数据准备2.3 持久层代码2.4 单元测试 3.Mybatis的增删改查操作&#xff08;使用注解方式&#xff09;3.1 增&#xff08;insert&#xff09;3.2 删&#xff08;delete&#xff09;3.3 改&#xff08;update&#xf…

Java 大视界 -- 基于 Java 的大数据机器学习模型的多模态融合技术与应用(143)

&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎来到 青云交的博客&#xff01;能与诸位在此相逢&#xff0c;我倍感荣幸。在这飞速更迭的时代&#xff0c;我们都渴望一方心灵净土&#xff0c;而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识&#xff0c;也…

进程管理笔记1-进程线程基础知识

5.1 进程线程基础知识 进程 进程的基本定义&#xff1a; 进行的程序。代码经过编译&#xff0c;变成二进制可执行文件&#xff0c;运行这个可执行文件后&#xff0c;装载到内存中&#xff0c;然后CPU执行其中指令。 并行和并发&#xff1a; 并行指两个任务并列前行&#x…

【VolView】纯前端实现CT三维重建-CBCT

文章目录 什么是CBCTCBCT技术路线使用第三方工具使用Python实现使用前端实现 纯前端实现方案优缺点使用VolView实现CBCT VolView的使用1.克隆代码2.配置依赖3.运行4.效果 进阶&#xff1a;VolView配合Python解决卡顿1.修改VtkThreeView.vue2.新增Custom3DView.vue3.Python生成s…

OpenEuler kinit报错找不到文件的解决办法

客户一套华为大数据集群平台,在一台arm平台openEuler服务器上面安装完集群客户端之后,使用kinit认证出现报错No such file or directory: 最终定位是操作系统/lib64缺少ld包导致,执行下面的命令恢复&#xff1a; ln -sv /lib/ld-linux-aarch64.so.1 /lib64/ld-linux-aarch64.s…

国内首家,百度智能云千帆AppBuilder全面兼容MCP协议

百度智能云千帆 AppBuilder 已兼容 MCP 协议&#xff01;作为国内首家支持 MCP 协议的大模型应用开发平台&#xff08;Claude、LangGraph、Cursor、Cline、N8N等海外平台已支持&#xff09;&#xff0c;千帆 AppBuilder 完成兼容后&#xff0c;用户可通过千帆 AppBuilder 轻松调…

uniapp自身bug | uniapp+vue3打包后 index.html无法直接运行

前提&#xff1a; 已经修改了基础路径 打开打包文件&#xff0c;双击运行index.html报错&#xff0c;无法访问页面 uniappvue2项目是可以正常运行的 vue3修改publicPath: ./后&#xff0c;也是可以正常访问打包文件中的index.html 点进控制台提供的链接&#xff1a;https:/…

Ubuntu快速安装使用gRPC C++

目录 引言一、快速安装1. 安装必要依赖库2. 安装gRPC 二、测试使用三、参考博客 引言 关于gRPC随着云原生微服务的火热也流行了起来&#xff0c;而且学好一个gRPC框架对目前来说也是必须的了。然而对于一个基础的小白来说&#xff0c;这个gRPC的框架运用起来是及其的困难&…

AES 简介 以及 C# 和 js 实现【加密知多少系列_3】

〇、AES 简介 AES 的全称是 Advanced Encryption Standard&#xff0c;意思是高级加密标准。它的出现主要是为了取代 DES&#xff08;Data Encryption StandardData Encryption Standard&#xff09;加密算法的&#xff0c;因为我们都知道 DES 算法的密钥长度是 56Bit&#xf…

在Django模型中的Mysql安装

安装mysql驱动 文章目录 安装mysql驱动1.打开PowerShell 安装mysql的驱动2.安装mysqlclient驱动2.1开始安装2.2 pip list 进行验证 出现mysqlclient 以及pymysql即可 3.正式安装mysql3.1打开mysql官网 www.mysql.com3.2点击下载 然后划到最后点击mysql社区下载 3.3 点击适合win…