公司网站建设方案/长沙seo技术培训
文章目录
- 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"]}}
}
- 说明:该查询会在
name
和email
字段中搜索包含“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安装和使用,保姆级教程!!!
相关文章:

Elasticsearch基本使用详解
文章目录 Elasticsearch基本使用详解一、引言二、环境搭建1、安装 Elasticsearch2、安装 Kibana(可选) 三、索引操作1、创建索引2、查看索引3、删除索引 四、数据操作1、插入数据2、查询数据(1)简单查询(2)…...

17.3.4 颜色矩阵
版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。 17.3.4.1 矩阵基本概念 矩阵(Matrix)是一个按照长方阵列排列的复数或实数集合,类似于数组。 由…...

FPGA 时钟多路复用
时钟多路复用 您可以使用并行和级联 BUFGCTRL 的组合构建时钟多路复用器。布局器基于时钟缓存 site 位置可用性查找最佳布局。 如果可能,布局器将 BUFGCTRL 布局在相邻 site 位置中以利用专用级联路径。如无法实现,则布局器将尝试将 BUFGCTRL 从…...

机器学习10
自定义数据集 使用scikit-learn中svm的包实现svm分类 代码 import numpy as np import matplotlib.pyplot as pltclass1_points np.array([[1.9, 1.2],[1.5, 2.1],[1.9, 0.5],[1.5, 0.9],[0.9, 1.2],[1.1, 1.7],[1.4, 1.1]])class2_points np.array([[3.2, 3.2],[3.7, 2.9],…...

【Block总结】CoT,上下文Transformer注意力|即插即用
一. 论文信息 标题: Contextual Transformer Networks for Visual Recognition论文链接: arXivGitHub链接: https://github.com/JDAI-CV/CoTNet 二. 创新点 上下文Transformer模块(CoT): 提出了CoT模块,能够有效利用输入键之间的上下文信息…...

linux库函数 gettimeofday() localtime的概念和使用案例
在Linux系统中,gettimeofday() 和 localtime() 是两个常用的时间处理函数,分别用于获取高精度时间戳和将时间戳转换为本地时间。以下是它们的概念和使用案例的详细说明: 1. gettimeofday() 函数 概念 功能:获取当前时间…...

编程题-电话号码的字母组合(中等)
题目: 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 解法一(哈希表动态添加)&#x…...

EasyExcel使用详解
文章目录 EasyExcel使用详解一、引言二、环境准备与基础配置1、添加依赖2、定义实体类 三、Excel 读取详解1、基础读取2、自定义监听器3、多 Sheet 处理 四、Excel 写入详解1、基础写入2、动态列与复杂表头3、样式与模板填充 五、总结 EasyExcel使用详解 一、引言 EasyExcel 是…...

基于“蘑菇书”的强化学习知识点(二):强化学习中基于策略(Policy-Based)和基于价值(Value-Based)方法的区别
强化学习中基于策略(Policy-Based)和基于价值(Value-Based)方法的区别 摘要强化学习中基于策略(Policy-Based)和基于价值(Value-Based)方法的区别1. 定义与核心思想(1) 基于策略的方…...

民法学学习笔记(个人向) Part.2
民法学学习笔记(个人向) Part.2 民法始终在解决两个生活中的核心问题: 私法自治;交易安全; 3. 自然人 3.4 个体工商户、农村承包经营户 都是特殊的个体经济单位; 3.4.1 个体工商户 是指在法律的允许范围内,依法经…...

物业管理系统源码驱动社区管理革新提升用户满意度与服务效率
内容概要 在当今社会,物业管理正面临着前所未有的挑战,尤其是在社区管理方面。人们对社区安全、环境卫生、设施维护等日常生活需求愈发重视,物业公司必须提升服务质量,以满足居民日益增长的期望。而物业管理系统源码的出现&#…...

租房管理系统助力数字化转型提升租赁服务质量与用户体验
内容概要 随着信息技术的快速发展,租房管理系统正逐渐成为租赁行业数字化转型的核心工具。通过全面集成资产管理、租赁管理和物业管理等功能,这种系统力求为用户提供高效便捷的服务体验。无论是工业园、产业园还是写字楼、公寓,租房管理系统…...

Ollama教程:轻松上手本地大语言模型部署
Ollama教程:轻松上手本地大语言模型部署 在大语言模型(LLM)飞速发展的今天,越来越多的开发者希望能够在本地部署和使用这些模型,以便更好地控制数据隐私和计算资源。Ollama作为一个开源工具,旨在简化大语言…...

Baklib推动数字化内容管理解决方案助力企业数字化转型
内容概要 在当今信息爆炸的时代,数字化内容管理成为企业提升效率和竞争力的关键。企业在面对大量数据时,如何高效地存储、分类与检索信息,直接关系到其经营的成败。数字化内容管理不仅限于简单的文档存储,更是整合了文档、图像、…...

DeepSeek-R1 论文. Reinforcement Learning 通过强化学习激励大型语言模型的推理能力
论文链接: [2501.12948] DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning 实在太长,自行扔到 Model 里,去翻译去提问吧。 工作原理: 主要技术,就是训练出一些专有用途小模型&…...

DOM 操作入门:HTML 元素操作与页面事件处理
DOM 操作入门:HTML 元素操作与页面事件处理 DOM 操作入门:HTML 元素操作与页面事件处理什么是 DOM?1. 如何操作 HTML 元素?1.1 使用 `document.getElementById()` 获取单个元素1.2 使用 `document.querySelector()` 和 `document.querySelectorAll()` 获取多个元素1.3 创建…...

使用 HTTP::Server::Simple 实现轻量级 HTTP 服务器
在Perl中,HTTP::Server::Simple 模块提供了一种轻量级的方式来实现HTTP服务器。该模块简单易用,适合快速开发和测试HTTP服务。本文将详细介绍如何使用 HTTP::Server::Simple 模块创建和配置一个轻量级HTTP服务器。 安装 HTTP::Server::Simple 首先&…...

C++滑动窗口技术深度解析:核心原理、高效实现与高阶应用实践
目录 一、滑动窗口的核心原理 二、滑动窗口的两种类型 1. 固定大小的窗口 2. 可变大小的窗口 三、实现细节与关键点 1. 窗口的初始化 2. 窗口的移动策略 3. 结果的更新时机 四、经典问题与代码示例 示例 1:和 ≥ target 的最短子数组(可变窗口…...

基于构件的软件开发方法
摘要: 本人在2023年1月参与广东某公司委托我司开发的“虚拟电厂”项目,主要负责整体架构设计和中间件的选型,该项目为新型电力存储、电力调度、能源交易提供一整套的软件系统,包括设备接入、负载预测、邀约竞价、用户设备调控等功能。本项目以“虚拟电厂”项目为例,讨论基…...

网站快速收录:如何设置robots.txt文件?
本文转自:百万收录网 原文链接:https://www.baiwanshoulu.com/34.html 为了网站快速收录而合理设置robots.txt文件,需要遵循一定的规则和最佳实践。robots.txt文件是一个纯文本文件,它告诉搜索引擎爬虫哪些页面可以访问ÿ…...

OpenGL学习笔记(六):Transformations 变换(变换矩阵、坐标系统、GLM库应用)
文章目录 向量变换使用GLM变换(缩放、旋转、位移)将变换矩阵传递给着色器坐标系统与MVP矩阵三维变换绘制3D立方体 & 深度测试(Z-buffer)练习1——更多立方体 现在我们已经知道了如何创建一个物体、着色、加入纹理。但它们都还…...

8.攻防世界Web_php_wrong_nginx_config
进入题目页面如下 尝试弱口令密码登录 一直显示网站建设中,尝试无果,查看源码也没有什么特别漏洞存在 用Kali中的dirsearch扫描根目录试试 命令: dirsearch -u http://61.147.171.105:53736/ -e* 登录文件便是刚才登录的界面打开robots.txt…...

【优先算法】专题——位运算
在讲解位运算之前我们来总结一下常见的位运算 一、常见的位运算 1.基础为运算 << &:有0就是0 >> |:有1就是1 ~ ^:相同为0,相异位1 /无进位相加 2.给一个数 n,确定它的二进制表示…...

qt.qpa.plugin: Could not find the Qt platform plugin “dxcb“ in ““
个人博客地址:qt.qpa.plugin: Could not find the Qt platform plugin "dxcb" in "" | 一张假钞的真实世界 我遇到的场景是,在Deepin系统终端中运行PySide应用时,没有错误提示,但在VS Code中运行时ÿ…...

1-刷力扣问题记录
25.1.19 1.size()和.length()有什么区别 2.result.push_back({nums[i], nums[left], nums[right]});为什么用大括号? 使用大括号 {} 是 C11 引入的 初始化列表 语法,它允许我们在构造或初始化对象时直接传入一组值。大括号的使用在许多情况下都能让代码…...

物联网 STM32【源代码形式-使用以太网】连接OneNet IOT从云产品开发到底层MQTT实现,APP控制 【保姆级零基础搭建】
物联网(IoT)是指通过各种信息传感器、射频识别技术、全球定位系统、红外感应器等装置与技术,实时采集并连接任何需要监控、连接、互动的物体或过程,实现对物品和过程的智能化感知、识别和管理。物联网的核心功能包括数据采集与监…...

【单层神经网络】基于MXNet的线性回归实现(底层实现)
写在前面 基于亚马逊的MXNet库本专栏是对李沐博士的《动手学深度学习》的笔记,仅用于分享个人学习思考以下是本专栏所需的环境(放进一个environment.yml,然后用conda虚拟环境统一配置即可)刚开始先从普通的寻优算法开始ÿ…...

unity中的动画混合树
为什么需要动画混合树,动画混合树有什么作用? 在Unity中,动画混合树(Animation Blend Tree)是一种用于管理和混合多个动画状态的工具,包括1D和2D两种类型,以下是其作用及使用必要性的介绍&…...

《基于deepseek R1开源大模型的电子数据取证技术发展研究》
《基于deepseek R1开源大模型的电子数据取证技术发展研究》 摘要 本文探讨了基于deepseek R1开源大模型的电子数据取证技术发展前景。随着人工智能技术的快速发展,AI大模型在电子数据取证领域的应用潜力日益凸显。本研究首先分析了电子数据取证的现状和挑战…...

Potplayer常用快捷键
Potplayer是一个非常好用的播放器,功能强大 功能快捷键播放/暂停空格键退出Esc下一帧F上一帧D快进10秒→快退10秒←快进30秒Ctrl →快退30秒Ctrl ←快进1分钟Alt →快退1分钟Alt ←增加播放速度C减少播放速度X恢复正常速度Z增加音量↑减少音量↓静音M显示/隐藏字幕Ctrl A…...