当前位置: 首页 > news >正文

Elasticsearch入门指南:从零到精通

系列文章目录

第一章 ES基本概念

第二章 ES安装

文章目录

  • 系列文章目录
  • 前言
  • 一、ES是什么?
  • 二、核心概念
    • 1.索引
    • 2.文档
    • 3.映射
    • 4.分片
    • 5.副本
  • 三、查询
  • 总结

前言

Elasticsearch是一个开源的分布式搜索和分析引擎,基于Apache Lucene构建,具备实时数据处理、全文检索和大规模数据分析能力,广泛应用于企业搜索、日志分析等场景。

一、ES是什么?

Elasticsearch 是一个分布式、高扩展、高实时的搜索与数据分析引擎。它能很方便的使大量数据具有搜索、分析和探索的能力。充分利用Elasticsearch的水平伸缩性,能使数据在生产环境变得更有价值。

二、核心概念

1.索引(Index)

索引相当于关系型数据库中的 “表”,用于存储一类文档。

例如,创建一个名为 “products” 的索引,用于存储商品数据:

curl -X PUT "http://localhost:9200/products" -H "Content-Type: application/json" -d '
{"mappings": {"properties": {"id": {"type": "integer"},"name": {"type": "text", "analyzer": "ik_max_word"}, // 使用IK分词器(需额外安装),支持中文分词"price": {"type": "double"},"category": {"type": "keyword"}, //  keyword类型不分词,适合精确匹配(如分类筛选)"create_time": {"type": "date", "format": "yyyy-MM-dd HH:mm:ss"}}}
}'

2.文档(Document)

索引中存储的数据,类似于数据库中的一行。

向 “products” 索引中添加一条商品文档(类似数据库中的 “插入数据”):

curl -X POST "http://localhost:9200/products/_doc/1" -H "Content-Type: application/json" -d '
{"id": 1,"name": "2024新款红色连衣裙中长款收腰显瘦","price": 299.9,"category": "女装","create_time": "2024-01-15 10:30:00"
}'

3. 映射(Mapping)

定义了索引中文档的结构,包括字段的类型、是否索引等,类似于数据库中得表结构。

4. 分片(Shard)

将索引分成多个分片以提高性能和可靠性

5. 副本(Replica)

每个主分片的副本,用于数据冗余和故障恢复。

三、查询

  • 简单查询

查询 “products” 索引中 “名称包含连衣裙” 且 “价格小于 300” 的商品:

curl -X GET "http://localhost:9200/products/_search" -H "Content-Type: application/json" -d '
{"query": {"bool": {"must": [{"match": {"name": "连衣裙"}}], // 必须满足“名称包含连衣裙”"filter": [{"range": {"price": {"lt": 300}}}] // 过滤条件“价格小于300”}},"sort": [{"price": "asc"}] // 按价格升序排序
}'
  • 聚合分析

统计 “products” 索引中各分类的商品数量:

curl -X GET "http://localhost:9200/products/_search" -H "Content-Type: application/json" -d '
{"size": 0, // 不返回具体文档,只返回聚合结果"aggs": {"category_count": {"terms": {"field": "category", "size": 10} // 按category分组,统计前10个分类的数量}}
}'

总结

从近实时检索到分布式架构,从全文检索到聚合分析,Elasticsearch 凭借其灵活、高效、可扩展的特性,成为了处理海量数据的核心工具之一。无论是电商、社交、运维,还是传统行业的数据分析场景,ES 都能帮助企业快速挖掘数据价值,提升业务效率。

当然,ES 并非 “万能工具”—— 它不适合作为事务性数据库(如金融交易数据,需强一致性),也不适合存储超大规模的冷数据(可结合对象存储如 S3 存储冷数据)。但在 “检索与分析” 这一核心场景下,ES 无疑是当前最优秀的解决方案之一。​

对于开发者而言,掌握 ES 不仅能提升数据处理能力,更能为业务创新提供技术支撑。未来,随着 ES 不断迭代(如支持向量搜索、更强大的 AI 集成),它在数据领域的应用将更加广泛。如果你还未尝试过 ES,不妨从搭建一个简单的测试环境开始,亲身体验它的强大魅力!

http://www.dtcms.com/a/541415.html

相关文章:

  • wordpress 非插件七牛cdn全站加速东至网站建设
  • 进出口网站贸易平台有哪些个人网站可以做推广吗
  • 游戏网站首页设计服务器有了网站怎么做
  • 计算机组成原理---存储系统
  • Vector深度剖析及模拟实现
  • Linux进程:进程属性
  • word文档做网站建立网站地图
  • 大连建设网节能办公室网站随州网站seo
  • SSM老年公寓管理系统4do68(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
  • 网站制作佛山海拉尔网站建设平台
  • 推客系统开发:从技术架构到业务落地的全栈实现指南
  • Spring Boot 日志体系 Logback + SLF4J 深入剖析
  • Perl 格式化输出
  • 网站建设三种方法广州h5网站制作
  • 一文讲透BOM、MRP、WMS
  • ai最新的发展趋势有哪些
  • 简化AI服务构建的Python框架leptonai
  • 解决 Vray for 3ds Max 三大常见生产问题,提升渲染工作流效率
  • 做网站搭建环境网站建设在学校中的作用
  • 优秀的网站建设吉林建设厅官方网站
  • STM32H742-ARM例程32-LCD
  • 基于谱图特征解析与机器学习模型融合的非靶向污染物识别策略
  • 下载| Windows 11 ARM版10月官方ISO系统映像 (适合部分笔记本、苹果M系列芯片电脑、树莓派和部分安卓手机平板)
  • 【u-boot】重定位(ARM32)-relocate_code
  • Java Web 开发的核心组件:Servlet, JSP,Filter,Listener
  • 怎么做qq分享网站深圳中瑞建设集团官方网站
  • 20251028在荣品RD-RK3588-MID开发板的Android13系统下解决关机的时候最近打开的应用不关的问题
  • 网站建设功能套餐表怎样创建网站桌面快捷方式
  • 当 Claude Code 登陆浏览器:我们如何用 Gateone.ai 把“移动编码”从炫技变成生产力核弹
  • Labview多种通信集合