【Elasticsearch】一、概述,安装

文章目录

  • 概述
    • 全文搜索引擎
    • 概述ES(7.x)
  • 安装ES(Docker)
    • 测试,是否启动成功
  • 可视化工具
    • 配置中文
  • 客户端
    • Postman下载

概述

ES是开源的高扩展的分布式全文搜索引擎,实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理 PB 级别的数据。

全文搜索引擎

Google,百度类的网站搜索,它们都是根据网页中的关键字生成索引,我们在搜索的时候输入关键字,它们会将该关键字即索引匹配到的所有网页返回;还有常见的项目中应用日志的搜索等等。对于这些非结构化的数据文本,关系型数据库搜索不是能很好的支持。
一般传统数据库,全文检索都实现的很鸡肋,因为一般也没人用数据库存文本字段。进行全文检索需要扫描整个表,如果数据量大的话即使对 SQL 的语法优化,也收效甚微。建立了索引,但是维护起来也很麻烦,对于 insert 和 update 操作都会重新构建索引。
基于以上原因可以分析得出,在一些生产环境中,使用常规的搜索方式,性能是非常差的:

  1. 搜索的数据对象是大量的非结构化的文本数据。
  2. 文件记录量达到数十万或数百万个甚至更多。
  3. 支持大量基于交互式文本的查询。
  4. 需求非常灵活的全文搜索查询。
  5. 对高度相关的搜索结果的有特殊需求,但是没有可用的关系数据库可以满足。
  6. 对不同记录类型、非文本数据操作或安全事务处理的需求相对较少的情况。
    为了解决结构化数据搜索和非结构化数据搜索性能问题,我们就需要专业,健壮,强大的全文搜索引擎

这里说到的全文搜索引擎指的是目前广泛应用的主流搜索引擎。它的工作原理是计算机索引程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置,当用户查询时,检索程序就根据事先建立的索引进行查找,并将查找的结果反馈给用户的检索方式。这个过程类似于通过字典中的检索字表查字的过程。

概述ES(7.x)

Elasticsearch 是面向文档型数据库,一条数据在这里就是一个文档。为了方便大家理解,我们将 Elasticsearch 里存储文档数据和关系型数据库 MySQL 存储数据的概念进行一个类比
在这里插入图片描述
ES 里的 Index 可以看做一个库,而 Types 相当于表,Documents 则相当于表的行。这里 Types 的概念已经被逐渐弱化,Elasticsearch 6.X 中,一个 index 下已经只能包含一个type,Elasticsearch 7.X 中, Type 的概念已经被删除了。

安装ES(Docker)

# 创建网络
docker network create elastic# 拉取镜像
docker pull elasticsearch:8.14.1# 运行实例:--net上面创建的网络,
docker run -d --name elasticsearch --net elastic -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:8.14.1

测试,是否启动成功

注意! es8.0以上默认开启了 ssl 认证
直接访问 : http://127.0.0.1:9200 是无法访问的,需要访问 https,或者关闭 SSL认证

自Elasticsearch 7.8.0版本开始,Elasticsearch 不再提供默认的用户名和密码。相反,它采用了内置安全特性,并引入了超级用户(superuser)角色和内置用户(built-in users)概念来管理访问控制。

在新安装的情况下,您需要设置一个初始的内置用户以及相关的登录凭据。可以通过修改 Elasticsearch 的配置文件(elasticsearch.yml)来完成此操作。以下是一个示例:

Docker ElastIcSearch容器配置文件路径

进入容器

docker exec -it elasticsearch bash

找到配置文件路径

cd  /usr/share/elasticsearch/config

打开 elasticsearch.yml 文件 找到 xpack.security.enabled: true 改为 xpack.security.enabled: false,这样就可以直接 使用http访问,并且不需要账号密码鉴权,这个设置看个人情况,如果是生产环境建议开始开启 https和账号密码鉴权

重启容器

docker restart some-elasticsearch

访问 http://127.0.0.1:9200
在这里插入图片描述

可视化工具

https://www.elastic.co/cn/downloads/kibana
解压使用启动脚本

# Windows
/bin/kibana.bat
# Linux
/bin/kibana

浏览器运行

http://localhost:5601

遇到这个
在这里插入图片描述
按照提示路径bin\kibana-verification-code.bat运行获得code
在这里插入图片描述
在这里插入图片描述

配置中文

进入容器

docker exec -it kibana /bin/bash

找到配置文件路径

# Linux
cd  /usr/share/kibana/config
# Win
./bin/config

打开 kibana.yml 文件 增加 csp.strict: false 设置 CSP 启用 Kibana 模式,如果为 true那么会对浏览器进行安全检查,官方CSP配置说明

增加i18n.locale: "zh-CN" 配置中文
elasticsearch.hosts: [ "http://elasticsearch:9200" ] 改为 具体 Elasticsearch 通信地址

重启kibana后
在这里插入图片描述

客户端

Postman下载

https://www.getpostman.com/

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

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

相关文章

助力游戏实现应用内运营闭环,融云游戏社交方案升级!

通信能力在所有应用场景都是必备组件,这源于社交属性带给应用的增长神话。 在游戏场景,玩家从少数核心向大众用户泛化扩展的过程,就是游戏深度融合社交能力的过程。 从单机到联机,游戏乐趣的升级 1996 年,游戏界顶流…

理解 REST API 和 GraphQL 的区别

你可能听说过 GraphQL,但对它与 REST 的区别还不完全确定。今天我们将介绍 REST 和 GraphQL 的一些基本原理,以及它们的不同使用场景。 GraphQL 作为 REST API 的替代品越来越受欢迎,不过它不一定是完全的“替代品”。 根据你的使用情景&am…

解析Kotlin中的Nothing【笔记摘要】

1.Nothing的本质 Nothing 的源码很简单: public class Nothing private constructor()可以看到它是个class,但它的构造函数是 private 的,这就导致我们没法创建它的实例,并且在源码里 Kotlin 也没有帮我们创建它的实例。 基于这…

cache映射

从主存到cache 假设把每个内存块分为4份,每次从主存中读取都是以块为单位,一次读取一个块。 (因为根据空间的局部性原理,当需要用到一个地址时,后续很大概率要用到其相邻的地址,因此一次读取一个块这种预读操作可以减…

无人机水运应用场景

航行运输 通航管理(海事通航管理处) 配员核查流程 海事员通过VHF(甚高频)系统与船长沟通核查时间。 无人机根据AIS(船舶自动识别系统)报告的船舶位置,利用打点定位 功能飞抵船舶上方。 使用…

GL823K USB 2.0 SD/MSPRO读卡器控制芯片

概述 GL823K是一个USB 2.0单轮读卡器控制芯片,可以支持SD/MMC/MSPRO闪存卡。它支持USB 2.0高速传输,它在一个芯片上可以控制读取诸如安全数字卡(SD卡),SDHC卡,迷你SD卡,微SD卡(T-Fl…

java基于ssm+jsp 二手交易平台网站

1商家能模块 商家首页,在商家首页页面可以查看个人中心、商品分类管理、商品信息管理、订单信息管理、订单配送管理信息,如图1所示。 图1商家首页界面图 个人中心,用户通过个人中心可以查看用户名、用户姓名、头像、性别、手机号码、邮箱等信…

keepalived HA nginx方案

安装 centos: yum -y install epel-release yum -y install nginx keepalivedkeepalived配置解析 /etc/keepalived/keepalived.conf ! Configuration File for keepalived # 全局变量 global_defs {router_id nginx_ha # 主从保持一致script_user root # 执行健康检查的…

《企业实战分享 · 常用运维中间件》

📢 大家好,我是 【战神刘玉栋】,有10多年的研发经验,致力于前后端技术栈的知识沉淀和传播。 💗 🌻 近期刚转战 CSDN,会严格把控文章质量,绝不滥竽充数,如需交流&#xff…

【Python基础】加密软件包:pcrydome介绍

pycryptodome 是一个在 Python 中广泛使用的密码学库,是 pycrypto 库的一个分支,旨在解决 pycrypto 一些已知的安全性和构建问题。pycryptodome 库完全兼容 pycrypto,提供了加密、解密、签名和消息摘要等功能,支持许多流行的密码学算法,包括对称加密(如 AES 和 DES)、非…

Linux socketcan应用编程

一、基本步骤 1、打开并绑定到 CAN 套接字 在执行任何操作之前,第一步是创建一个套接字。此函数接受三个参数 – 域/协议系列 (PF_CAN)、套接字类型(原始或数据报)和套接字协议。如果成功,该函数将返回文件…

Linux多线程【线程互斥】

文章目录 Linux线程互斥进程线程间的互斥相关背景概念互斥量mutex模拟抢票代码 互斥量的接口初始化互斥量销毁互斥量互斥量加锁和解锁改进模拟抢票代码(加锁)小结对锁封装 lockGuard.hpp 互斥量实现原理探究可重入VS线程安全概念常见的线程不安全的情况常…

实习总结 --- 内部平台使用

常用术语 CR CR–标准问题分类管理平台:由业务类型-角色-国家-品类-Page定义。 FAQSOP FAQ是端上用户自助的第一道关口,在引导用户进行自助解决上起关键作用 SOP是指标准作业程序,客服SOP是针对用户遇到的具体问题场景,给客服…

探索Python的异步编程:使用asyncio和aiohttp

在现代编程中,异步编程已成为提高应用程序性能和响应能力的关键技术之一。Python的asyncio库提供了一套用于编写单线程并发代码的框架。而aiohttp库则在此基础上提供了异步HTTP网络请求的功能。本文将深入探讨如何使用这两个库来构建高效的异步网络应用,…

3.js - hdr贴图 是什么,有什么用

HDR贴图:High-Dynamic Range(高动态范围)贴图 一、定义与特点 定义:HDR贴图是具有高动态范围的环境贴图,能够捕捉并保留丰富的亮部细节和暗部细节,从而模拟出更加真实的光照效果。特点: 高动态…

鸿蒙OS开发者高级学习第2课:自由流转(含习题答案)

自由流转两种形态:相继使用(跨端迁移);同时使用( 多端协同) 习题:

DCU整体硬件架构

DCU整体硬件架构 DCU整体硬件架构 首先,DCU通过PCI-E总线与CPU处理器相连,它是CPU主机系统的一个硬件扩展,其存在的目的是为了对程序某些模块或者函数进行加速。虽然DCU是原硬件系统的一个扩展,接受CPU调度指挥,但是在…

轻松配置,无需重复操作:PyCharm新建项目后,如何让当前新建项目使用既有虚拟环境

1、点击右上角的设置按钮 2、点击Settings 3、点击profect 4、点击python Interprter,这个是python解释器 5、点击 add interpreter,这个是增加python解释器 6、再点击add Local interpreter 7、选择第一个Virtualenv Environment,然后选择Existin…

Ubuntu、CentOs更换源(阿里云的源)

ubuntu 备份当前的apt配置文件 sudo mv /etc/apt/sources.list /etc/apt/sources.list.backup编辑配置文件,将以下内容写到文件中sudo vi /etc/apt/sources.list deb https://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse deb-src ht…

计算机网络概述--自我学习用

计算网络体系概述 相关问题 计算机网络为什么要分层?计算机网络是怎么分层的?三种计算机网络模型的关系是什么?每一层分别包含哪些协议?计算机网络中,数据如何在各层中传播?数据在网络各层中的存在形式是…