认识+安装ElasticSearch
1. 为什么要学习ElasticSearch?
一般的来说,项目中的搜索功能尤其是电商项目,商品的搜索肯定是访问频率最高的页面之一。目前搜索功能是基于数据库的模糊搜索来实现的,存在很多问题。
1.1 数据库搜索所存在的问题
1.1.1 查询效率较低
由于数据库模糊查询不走索引,在数据量较大的时候,查询性能很差
1.1.2 功能单一
数据库的模糊搜索功能单一,匹配条件非常苛刻,必须恰好包含用户搜索的关键字。而在搜索引擎中,用户输入出现个别错字,或者用拼音搜索、同义词搜索都能正确匹配到数据
综上所述,在面临海量数据的搜索,或者有一些复杂搜索需求的时候,推荐使用专门的搜索引擎来实现搜索功能。
目前全球的搜索引擎技术排名如下:
2. 初识ElasticSearch
了解ElasticSearch之前,先了解一个搜索引擎类库,如下:
Lucene是一个Java语言的搜索引擎类库,是Apache公司的顶级项目,由DougCutting于1999年研发
官网地址: Apache Lucene - Welcome to Apache Lucene
Lucene的优势:
易扩展
高性能(基于倒排索引)Lucene的性能非常好,因为它在做数据处理的时候,采用了这种倒排索引的方式。目前主流的所有的这种java语言的搜索引擎,基本上都是基于Lucene来实现的
ElasticSearch是一款非常强大的开源搜索引擎,支持的功能非常多
Elasticsearch的官方网站:Elasticsearch:官方分布式搜索和分析引擎 | Elastic
目前最新的版本是:8.x.x
Elasticsearch是由elastic公司开发的一套搜索引擎技术,它是elastic技术栈中的一部分。完整的技术栈包括:
Elasticsearch:用于数据存储、计算和搜索
Logstash/Beats:用于数据收集
Kibana:用于数据可视化
整套技术栈被称为ELK,经常用来做日志收集、系统监控和状态分析等
整套技术栈的核心就是用来存储、搜索、计算的Elasticsearch
ElasticSearch具备下列优势:
支持分布式,可水平扩展
提供Restful接口,可被任何语言调用
3. 安装 ElasticSearch+Kibana
3.1 通过下面的Docker命令即可安装单机版本的ElasticSearch:
由于拉取镜像比较复杂,所以将准备好的es.tar(ElasticSearch镜像包)和kibana.tar包(Kibana镜像包)一起上传到虚拟机的/root目录下
先将es.tar镜像包和kibana.tar镜像包解压,之后查看镜像
解压命令:
docker load -i es.tar
docker load -i kibana.tar
查看镜像命令:
docker images
3.1.1 安装ElasticSearch
直接执行下面的命令即可
命令如下:
docker run -d \--name es \-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \-e "discovery.type=single-node" \-v es-data:/usr/share/elasticsearch/data \-v es-plugins:/usr/share/elasticsearch/plugins \--privileged \--network hm-net \-p 9200:9200 \-p 9300:9300 \elasticsearch:7.12.1
运行完后可以看机创建一个名为es的容器,端口为9200
测试:
运行 192.168.218.15:9200 (注:这里是自己的虚拟机IP地址加端口9200)可以看到数据,代表部署成功!
3.1.2 安装Kibana
执行下面命令:
命令如下:
docker run -d \
--name kibana \
-e ELASTICSEARCH_HOSTS=http://es:9200 \
--network=hm-net \
-p 5601:5601 \
kibana:7.12.1
测试
运行 192.168.218.15:5601 (注:这里是自己的虚拟机IP地址加端口5601) 可以看到一个控制台页面
选择Explore on my own
之后,进入主页面:则代表部署成功!
然后选中Dev tools
,进入开发工具页面
进去后可以进行一个查询测试
成功了,说明我们ElasticSearch和Kibana部署成功!
相关文章:
![](https://i-blog.csdnimg.cn/direct/4b0ff1c318c44a2ba15b7e2b3d7e4698.png)
认识+安装ElasticSearch
1. 为什么要学习ElasticSearch? 一般的来说,项目中的搜索功能尤其是电商项目,商品的搜索肯定是访问频率最高的页面之一。目前搜索功能是基于数据库的模糊搜索来实现的,存在很多问题。 1.1 数据库搜索所存在的问题 1.1.1 查询效率较低 由于数据库模糊查询不走索引&…...
![](https://i-blog.csdnimg.cn/img_convert/42427b4343cf5438069b8bc511694006.png)
一个模块实现期货分钟 K 线计算、主连行情合成
由于不同期货品种的交易时间存在差异,且不同期货合约的活跃度各不相同,因此基于期货快照行情数据合成分钟K线的计算方法在时间对齐上需要进行不同的处理。 本教程旨在提升 DolphinDB 在具体业务场景中的应用效率,并降低其在实际业务中的开发…...
![](https://www.ngui.cc/images/no-images.jpg)
PyTorch:.max(1)和.max(0)的使用
目录 1).max(1)的使用: 2).max(0)的使用: 1).max(1)的使用: 假设有一个形状为 ( m , n ) 的 Tensor x ,其中m表示行数,n表示列数。 x.max(1) ,相当于x.max(dim1) 。作…...
![](https://www.ngui.cc/images/no-images.jpg)
ASP.NET Core 中使用 Cookie 身份验证
在 ASP.NET Core 中使用 Cookie 身份验证,通常是为了实现用户的登录和授权。以下是配置 Cookie 身份验证的步骤。 1. 安装必要的 NuGet 包 首先,确保项目中包含 Microsoft.AspNetCore.Authentication.Cookies 包。你可以通过 NuGet 包管理器或命令行安…...
![](https://i-blog.csdnimg.cn/direct/af36f34df7804be48d8c584da5608b1a.png)
Ollama私有化部署大语言模型LLM
目录 一、Ollama介绍 二、安装Ollama 1、标准安装 2、国内加速 三、升级Ollama版本 四、使用Ollama 1、启动ollama服务 systemctl start ollama.service ollama serve 2、使用ollama命令 ollama run 运行模型 ollama ps 查看正在运行的模型 ollama list 查看(本地)…...
![](https://i-blog.csdnimg.cn/direct/6113920291ea4f66b490ba62fd3c138a.png)
安卓app抓包总结(精)
前言 这里简单记录一下相关抓包工具证书的安装 burp证书安装 安装证书到移动设备(安卓7以后必须上传到设备系统根证书上) 导出证书 openssl x509 -inform DER -in cacert.der -out cacert.pem 转换格式 openssl x509 -inform PEM -subject_hash_old -in cacert.pem …...
![](https://www.ngui.cc/images/no-images.jpg)
Three.js 性能优化:打造流畅高效的3D应用
文章目录 前言一、减少几何体复杂度(Reduce Geometry Complexity)二、合并几何体(Merge Geometries)三、使用缓冲区几何体(Use BufferGeometries)四、纹理压缩与管理(Texture Compression and M…...
![](https://i-blog.csdnimg.cn/img_convert/11bf2349b5dc4ce3505ceabcb4282974.png)
PHP 在 2025 年的现状与展望
PHP 在 2025 年依然强劲,继续为超过 77% 使用已知服务器端编程语言的网站提供动力。这并非仅仅依靠遗留代码,像 WordPress、Shopify 和 Laravel 这样的主流平台持续推动 PHP 的发展,使其保持着 актуальность 并不断进化。 为什么…...
![](https://i-blog.csdnimg.cn/direct/2638884647e94016a32cd5d29758c044.png)
力扣经典二分题:4. 寻找两个正序数组的中位数
题目链接:4. 寻找两个正序数组的中位数 - 力扣(LeetCode) 一、题目分析 这道题目是让我们在 两个正序的数组中寻找中位数已知两个数组的大小分别是:int m nums1.size(),n nums2.size();中位数性质1:中位数左侧元素 …...
![](https://i-blog.csdnimg.cn/direct/16a4cc75481d47bf9ba369d8f46e12f8.png)
解决WordPress出现Fatal error: Uncaught TypeError: ftp_nlist()致命问题
错误背景 WordPress版本:wordpress-6.6.2-zh_CN WooCommerce版本:woocommerce.9.5.1 WordPress在安装了WooCommerce插件后,安装的过程中没有问题,在安装完成后提示: 此站点遇到了致命错误,请查看您站点管理…...
![](https://i-blog.csdnimg.cn/direct/2e53d6911f1e4668a847368c95616a33.png)
Excel 技巧07 - 如何计算到两个日期之间的工作日数?(★)如何排除节假日计算两个日期之间的工作日数?
本文讲了如何在Excel中计算两个日期之间的工作日数,以及如何排除节假日计算两个日期之间的工作日数。 1,如何计算到两个日期之间的工作日数? 其实就是利用 NETWORKDAYS.INTL 函数 - weekend: 1 - 星期六,星期日 2,如…...
![](https://www.ngui.cc/images/no-images.jpg)
快速实现一个快递物流管理系统:实时更新与状态追踪
物流管理是电商、仓储和配送等行业的重要组成部分。随着电子商务的快速发展,快递物流的高效管理和实时状态更新变得尤为关键。本文将演示如何使用Node.js、Express、MongoDB等技术快速构建一个简单的快递物流管理系统,该系统支持快递订单的实时更新和追踪…...
![](https://i-blog.csdnimg.cn/direct/e9c73e61ac7f48dd8f7a7f247b9b368d.png)
kvm 解决 安装windows 虚拟机cpu 核数问题
通过lscpu命令查到我本机的cpu信息如下 CPU(s): 12 —— 系统的总逻辑处理单元数量(包括所有核心和逻辑处理器)。Thread(s) per core: 2 —— 每个物理核心支持 2 个线程(表示启用了超线程技术)。Core(s) per socket: 6 —— 每个…...
![](https://i-blog.csdnimg.cn/img_convert/bcbe2a863c805454d980f2d8da848b2f.png)
Ansys Fluent Aeroacoustics 应用
探索 Ansys Fluent 在气动声学领域的前沿功能,彻底改变各行各业解决降噪和提高音质的方式。 了解气动声学 气动声学是声学的一个分支,它处理湍流流体运动产生的噪声以及这些声音通过流体介质(如空气)的传播。这个领域在工程中至…...
![](https://i-blog.csdnimg.cn/direct/ec3c2548aa534dfd93bf2bb69e2d1c5b.png)
119.使用AI Agent解决问题:Jenkins build Pipeline时,提示npm ERR! errno FETCH_ERROR
目录 1.Jenkins Build时的错误 2.百度文心快码AI智能体帮我解决 提问1:jenkins中如何配置npm的源 提问2:jenkins pipeline 类型为pipeline script from SCM时,如何配置npm源 3.最终解决方法-Jenkinsfile的修改 4.感触 1.Jenkins Build时…...
![](https://www.ngui.cc/images/no-images.jpg)
istio-proxy内存指标
在 Istio 环境中,istio-proxy 是 Envoy 的边车代理容器。通过运行命令 curl localhost:15000/memory,或者curl localhost:15000/stats 可以查询 Envoy 的内存统计信息。以下是典型返回结果的结构和意义: 返回结果单位是bytes,需/…...
![](https://www.ngui.cc/images/no-images.jpg)
List详解 - 双向链表的操作
在C中,std::list是标准模板库(STL)中的一个容器,它实现了双向链表的数据结构。与数组或向量(std::vector)不同,std::list允许在常数时间内进行插入和删除操作,尤其是在链表的任意位置…...
![](https://i-blog.csdnimg.cn/direct/dca0e958238444b0a4e0c83c03ca39b2.png)
多目标优化算法之一:基于分解的方法
在多目标优化算法中,“基于分解的方法”通常指的是将多目标优化问题(MOP)分解为多个单目标优化子问题,并同时优化这些子问题。这种方法的核心思想是通过引入权重向量或参考点,将多目标问题转化为多个标量优化问题,每个子问题都关注于原始问题的一个特定方面或视角。这样可…...
![](https://www.ngui.cc/images/no-images.jpg)
conntrack iptables 安全组
centos 安装yum install conntrack-tools 1. conntrack状态 NEW: 新建连接(第一次包)。 ESTABLISHED: 已建立连接,正在传输数据。 RELATED: 与已有连接相关的连接,如 FTP 数据连接。 INVALID: 无效连接,无法识别或不…...
![](https://www.ngui.cc/images/no-images.jpg)
stringRedisTemplate.execute执行lua脚本
stringRedisTemplate.execute执行lua脚本 1. 引入必要依赖 确保项目中已经引入了Spring Data Redis相关依赖,例如在 Maven 项目中,一般会有如下依赖(版本号根据实际情况调整): <dependency><groupId>or…...
![](https://i-blog.csdnimg.cn/direct/142421554bda432daf082a18ca220361.png)
HDFS异构存储和存储策略
一、HDFS异构存储类型 1.1 冷、热、温、冻数据 通常,公司或者组织总是有相当多的历史数据占用昂贵的存储空间。典型的数据使用模式是新传入的数据被应用程序大量使用,从而该数据被标记为"热"数据。随着时间的推移,存储的数据每周…...
![](https://www.ngui.cc/images/no-images.jpg)
生成idea ui风格界面代码
创建一个类似 IntelliJ IDEA 的用户界面(UI)涉及多个组件和复杂的布局设计。为了简化这个过程,我们可以使用 **Java Swing** 或 **JavaFX** 来实现一个基本的 IDE 界面,模仿 IntelliJ IDEA 的主要布局元素,如菜单栏、工…...
![](https://i-blog.csdnimg.cn/direct/8afac30944b241869dbfafb19ce2a326.png)
嵌入式C语言:二维数组
目录 一、二维数组的定义 二、内存布局 2.1. 内存布局特点 2.2. 内存布局示例 2.2.1. 数组元素地址 2.2.2. 内存布局图(简化表示) 2.3. 初始化对内存布局的影响 三、访问二维数组元素 3.1. 常规下标访问方式 3.2. 通过指针访问 3.2.1. 指向数…...
![](https://www.ngui.cc/images/no-images.jpg)
【机器学习:四、多输入变量的回归问题】
多输入变量的回归问题 1. 多元线性回归概述 1.1 单变量线性回归与多变量线性回归的概念区分 单变量线性回归:用于预测一个因变量(输出变量)与单一自变量(输入变量)之间的线性关系。模型形式为: y θ 0 …...
![](https://i-blog.csdnimg.cn/img_convert/19f58e4f4b458bae3cc69957480654c7.webp?x-oss-process=image/format,png)
JVM实战—OOM的定位和解决
1.如何对系统的OOM异常进行监控和报警 (1)最佳的解决方案 最佳的OOM监控方案就是:建立一套监控平台,比如搭建Zabbix、Open-Falcon之类的监控平台。如果有监控平台,就可以接入系统异常的监控和报警,可以设置当系统出现OOM异常&…...
![](https://i-blog.csdnimg.cn/direct/cf6591365fc144dc9b2c1db34cf26bf7.png#pic_center)
iOS 本地新项目上传git仓库,并使用sourceTree管理
此文记录的场景描述: iOS前期开发时,在本地创建项目,直至开发一段时间,初期编码及框架已完善后,才拿到git仓库的地址。此时需要将本地代码上传到git仓库。 上传至git仓库,可以使用终端,键入命令…...
![](https://i-blog.csdnimg.cn/direct/7e0c3c51dcbf484a9b655768fe46552b.png)
mysql之基本select语句 运算符 排序分页
1.SQL的分类 DDL:数据定义语言. CREATE ALTER DROP RENAME TRUNCATE DML: 数据操作语言. INSERT DELETE UPDATE SELECT 重中之重 DCL: 数据控制语言. COMMIT ROLLBACK SAVEPOINT GRANT REVOKE 2.SQL语言的规则与规范 1.基本规则 SQL可以在一行或多行,为了提高可…...
![](https://www.ngui.cc/images/no-images.jpg)
如何在 Ubuntu 22.04 上安装 Nagios 服务器教程
简介 在本教程中,我们将解释如何在 Ubuntu 22.04 上安装和配置 Nagios,使用 Apache 作为 Web 服务器,并通过 Let’s Encrypt Certbot 使用 SSL 证书进行保护。 Nagios 是一个强大的监控系统,它可以帮助组织在 IT 基础设施问题影…...
![](https://www.ngui.cc/images/no-images.jpg)
数据库事务:确保数据一致性的关键机制
1. 什么是数据库事务 定义:事务(Transaction)是数据库管理系统中的一个逻辑工作单元,用于确保一组相关操作要么全部成功执行,要么全部不执行,从而维护数据的一致性和完整性。重要性:在多用户环…...
![](https://www.ngui.cc/images/no-images.jpg)
词作词汇积累:错付、大而无当、语焉不详、愈演愈烈
错付 1、基本介绍 【错付】是错误地付出或投入,特别是在感情、信任或资源方面。 【错付】代表投入的东西没有得到应有的回报,或者投入的对象并不值得。 2、实例实操 1. 她将所有的爱与关怀都【错付】给了那个不懂珍惜的人。2. 多年的努力似乎【错付…...
![](/images/no-images.jpg)
如何做网站页面赚钱/最新中央人事任免
#1 连接数据库import pymysqldef run():try:# 打开数据库连接,设置charset为utf8,否则存入数据库时在workbench显示为乱码db pymysql.connect("localhost", "root", , "test_DB", charsetutf8)except pymysql.Error, e:p…...
网页制作与网站建设宝典 pdf/网站建设是什么
0:引言 Zenfone2性价比高,但是原生的华硕系统,无法root,加上google那一套东西无法安装,所以开始了折腾过程,自行youtube,google后刷机成功,现在刷机详细过程和需要材料记录一番! 注意࿱…...
![](/images/no-images.jpg)
武汉高端商城网站建设/网络销售是什么工作内容
会话总结 Session pk cookie? 联系: 都是实现会话的方法。 Session基于cookie。 差异: cookie session 会话数据存储位置 浏览器端 服务器端 安全性 低 高 数据传输量 大 小 支持会话数据量 有限制4k,20个 无限制 支…...
php可以做网站app吗/十大软件培训机构
出现这种错误的原因就是:你入参的数值超过了数据库中定义的类型长度,这时候需要修改数据库中的类型了。...
![](https://images2018.cnblogs.com/blog/1224905/201806/1224905-20180629123256456-651105592.png)
通辽做网站制作/目前最好的引流推广方法
在机器学习的过程中,我们经常会遇见过拟合的问题。而输入数据或features的维度过高就是导致过拟合的问题之一。。维度越高,你的数据在每个特征维度上的分布就越稀疏,这对机器学习算法基本都是灾难性的。所有出现了很多降维的方法。今天我们要…...
![](https://s1.51cto.com/images/blog/201904/15/26ad61f936b43247c7cf5ce6b5c52150.jpg?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
重庆九龙坡区网站建设/竞价推广代运营公司
SFP光模块和XFP光模块的区别①10G SFP光模块是SFP光模块的升级版,是基于SFP封装形式,而10G XFP光模块是基于XFP封装标准。②10G SFP光模块比10G XFP光模块外观尺寸更小,因此10G SFP光模块能满足高密度板卡对光模块的体积要求,但是…...