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

Elasticsearch 简单使用

Elasticsearch 安装和基本操作

一、引言

Elasticsearch 是一个基于 Lucene 构建的开源分布式搜索引擎,提供了实时的搜索和数据分析能力。它广泛应用于日志分析、全文搜索、数据可视化等场景。本文将详细介绍 Elasticsearch 的安装步骤及基本操作,包括索引的创建、文档的增删改查、查询操作等。

二、Elasticsearch 安装步骤

2.1 环境准备&下载 Elasticsearch

  1. 访问 Elasticsearch 下载页面。
  2. 选择适合您操作系统的版本,下载压缩包。

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 能够大幅提升数据处理的效率和灵活性。

http://www.lryc.cn/news/463393.html

相关文章:

  • 基于SpringBoot+Vue+uniapp微信小程序的垃圾分类系统的详细设计和实现(源码+lw+部署文档+讲解等)
  • 基于深度学习的车辆车型检测识别系统(YOLOV5)
  • Java开发中知识点整理
  • 【css-在一个元素中设置font-size和实际渲染字体大小不一致】
  • LabVIEW提高开发效率技巧----用户权限控制
  • 如何快速学会盲打
  • 如何通过外链组合套餐提升外贸网站的整体表现?
  • MySQL—事务
  • 二、PyCharm基本设置
  • SSH流量秒变HTTPS —— 筑梦之路
  • tkinter Listbox 列表框实现多列对齐排列并绑定下拉框和滚动条
  • Kafka 启用 JMX
  • G1(Garbage First)垃圾回收实战
  • ESP32-IDF 通用定时器 GPTimer
  • C#学习笔记(十)
  • 出手!快手可灵开源版,AI视频生成整合包!
  • 【Linux】进程池
  • 实验23:DA呼吸灯实验
  • 安科瑞智慧能源管理系统EMS3.0在浙江某能源集团有限公司的应用
  • 线性代数学习
  • FineReport 数据显示格式
  • leetcode.204.计数质数
  • Mysql环境安装
  • 请问平面仓系统的盘点如何做?
  • STM32笔记(1)GPIO之点亮LED
  • 自动化工具
  • CTFHUB技能树之HTTP协议——响应包源代码
  • Java会话技术,拦截器,过滤器,登录校验
  • Spring Security 如何进行权限验证
  • 计算机砖头书的学习建议