【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.mfbz.cn/a/767062.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

function-calling初体验

课程地址:https://learn.deeplearning.ai/courses/function-calling-and-data-extraction-with-llms/lesson/1/introduction github notebook地址:https://github.com/kingglory/LLMs-function-calling/tree/main Function-Calling 介绍 函数调用(Funct…

Linux Centos7部署Zookeeper

目录 一、下载zookeeper 二、单机部署 1、创建目录 2、解压 3、修改配置文件名 ​4、创建保存数据的文件夹 ​5、修改配置文件保存数据的地址 ​6、启动服务 7、api创建节点 一、下载zookeeper 地址:Index of /dist/zookeeper/zookeeper-3.5.7 (apache.org…

Python23 使用Tensorflow实现线性回归

TensorFlow 是一个开源的软件库,用于数值计算,特别适用于大规模的机器学习。它由 Google 的研究人员和工程师在 Google Brain 团队内部开发,并在 2015 年首次发布。TensorFlow 的核心是使用数据流图来组织计算,使得它可以轻松地利…

【Python画图-驯化seaborn】一文搞懂seaborn中的箱线图实践技巧

【Python画图-驯化seaborn】一文搞懂seaborn中的箱线图实践技巧 本次修炼方法请往下查看 🌈 欢迎莅临我的个人主页 👈这里是我工作、学习、实践 IT领域、真诚分享 踩坑集合,智慧小天地! 🎇 免费获取相关内容文档关注&a…

05 docker 镜像

目录 1. 镜像 2. 联合文件系统 3. docker镜像加载原理 4. 镜像分层 镜像分层的优势 5. 容器层 1. 镜像 镜像是一种轻量级、可执行的独立软件包,它包含运行某个软件所需的所有内容,我们把应用程序和配置依赖打包好行程一个可交付的运行环境&#xf…

每日一题 7月1日

1 设数组data[m]作为循环队列的存储空间,front为队头指针,rear为队尾指针,则执行出队操作后其头指针front值为____ 2 采用滑动窗口机制对两个相邻结点A(发送方)和B(接收方)的通信过程进行流量控制。假定帧的序号长度为3比特,发送窗口与接收窗口的大小均为7,当A发送了…

昇思25天学习打卡营第9天|MindSpore-Vision Transformer图像分类

Vision Transformer图像分类 Vision Transformer(ViT)简介 近些年,随着基于自注意(Self-Attention)结构的模型的发展,特别是Transformer模型的提出,极大地促进了自然语言处理模型的发展。由于Transformers的计算效率和可扩展性,它已经能够训练具有超过100B参数的空前…

传输线在阻抗匹配时串联端接电阻为什么要靠近发送端

传输线在阻抗匹配时串联端接电阻为什么要靠近发送端 在进行阻抗匹配的时候我们可以在电阻源端放置一个串联端接电阻,但是有时候受到空间的限制可能会把电阻摆的稍微远一点,那么这个时候大家可能会有疑问,电阻离发送端远一点或者电阻放置在接…

java+mysql教师管理系统

完整源码地址 教师信息管理系统使用命令行交互的方式及数据库连接实现教师信息管理系统,该系统旨在实现教师信息的管理,并根据需要进行教师信息展示。该软件的功能有如下功能 (1)基本信息管理(教师号、姓名、性别、出生年月、职称、学历、学位、教师类型…

【Git 学习笔记】1.3 Git 的三个阶段

1.3 Git 的三个阶段 由于远程代码库后续存在新的提交,因此实操过程中的结果与书中并不完全一致。根据书中 HEAD 指向的 SHA-1:34acc370b4d6ae53f051255680feaefaf7f7850d,可通过以下命令切换到对应版本,并新建一个 newdemo 分支来…

【STM32 RTC实时时钟如何配置!超详细的解析和超简单的配置,附上寄存器操作】

STM32 里面RTC模块和时钟配置系统(RCC_BDCR寄存器)处于后备区域,即在系统复位或从待机模式唤醒后,RTC的设置和时间维持不变。因为系统对后备寄存器和RTC相关寄存器有写保护,所以如果想要对后备寄存器和RTC进行访问,则需要通过操作…

社交媒体优化的智能顾问:Kompas.ai如何提升品牌社交表现

在社交媒体盛行的数字时代,品牌必须在社交平台上保持活跃和互动,以增强品牌社交互动和提升在线可见性。社交媒体优化不仅能够扩大品牌的影响力,还能够加深与消费者的联系。Kompas.ai,作为一款智能社交媒体顾问工具,能够…

【前端项目笔记】7 商品管理

商品管理 效果展示: 在功能开发之前,创建商品列表的子分支 git branch 查看所有分支 git checkout -b goods_list 创建并切换到新分支goods_list git push -u origin goods_list 将新分支goods_list推送到云端仓库origin并命名为goods_list保存 通过…

LLM学习记录

概述 语言模型的发展 语言模型经历过四个阶段的发展,依次从统计语言模型到神经网络语言模型(NLM),到出现以 BERT 和 Transformer 架构为代表的预训练语言模型(PLM),最终到大型语言模型阶段&am…

竞赛选题 交通目标检测-行人车辆检测流量计数 - 竞赛选题

文章目录 0 前言1\. 目标检测概况1.1 什么是目标检测?1.2 发展阶段 2\. 行人检测2.1 行人检测简介2.2 行人检测技术难点2.3 行人检测实现效果2.4 关键代码-训练过程 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 毕业设计…

【Java环境配置过程详解(包括IDEA配置Java)】

目录 一、JDK下载安装 1. 官网下载JDK 2. 本地安装JDK 3. 配置环境变量 4. 验证是否安装成功 ​编辑二、IDEA进行安装下载 1. 官网下载 IDEA 2、IDEA进行Java开发 1. 创建Java项目 2. 程序测试 一、JDK下载安装 1. 官网下载JDK 1)官网链接: https://www.o…

PTrade如何获取技术值班?如get_RSI - 相对强弱指标;PTrade量化软件如何获取?

get_RSI - 相对强弱指标 get_RSI(close, n6) 使用场景 该函数仅在回测、交易模块可用 接口说明 获取相对强弱指标RSI指标的计算结果 PTrade是恒生公司开发的一款专业量化软件,部分合作券商可提供,↑↑↑! 参数 close:价格…

C语言的数据结构:图的基本概念

前言 之前学过了其它的数据结构,如: 集合 \color{#5ecffd}集合 集合 —— 数据元素属于一个集合。 线型结构 \color{#5ecffd}线型结构 线型结构 —— 一个对一个,如线性表、栈、队列,每一个节点和其它节点之间的关系 一个对一个…

rpm包下载

内网无法下载、选择外网的一台机器下载rpm包 下载后上传rpm包 1、创建下载目录 mkdir /data/asap/test 2、下载能留存包的工具 sudo yum install yum-utils -y 报错就是环境问题没下载成功,我换了个环境正常的机器就可以了 3、下载rpm包到指定目录/data/asa…

一文彻底搞懂Transformer - Input(输入)

一、输入嵌入(Input Embedding) 词嵌入(Word Embedding):词嵌入是最基本的嵌入形式,它将词汇表中的每个单词映射到一个固定大小的向量上。这个向量通常是通过训练得到的,能够捕捉单词之间的语义…