长沙做网站团队/国内seo公司
学习ElasticSearch之前,我们先来了解一下搜索
1 搜索是什么
① 概念:用户输入想要的关键词,返回含有该关键词的所有信息。
② 场景:
1互联网搜索:谷歌、百度、各种新闻首页;
2 站内搜索(垂直搜索):企业OA查询订单、人员、部门,电商网站内部搜索商品(淘宝、京东)场景。
2 数据库做搜索
当数据量小,简单搜索,可以使用数据库。
但是电商项目中,商品上亿条时,查询“笔记本电脑”等关键词时,上亿条数据的商品名字段逐行扫描,性能跟不上。而且不能分词,如搜索“笔记本电脑”,只能搜索完全和关键词一样的数据,那么数据量小时,搜索“笔记本电脑”,“电脑”数据要不要给用户。
在当今互联网时代,搜索肯定不会使用数据库搜索。数据量太大,轻松达到PB级。
3 全文检索
全文检索,我们要用到倒排索引
倒排索引源于实际应用中需要根据属性的值来查找记录。这种索引表中的每一项都包括一个属性值和具有该属性值的各记录的地址。由于不是由记录来确定属性值,而是由属性值来确定记录的位置,因而称为倒排索引(inverted index)。带有倒排索引的文件我们称为倒排索引文件,简称倒排文件(inverted file)。
Lucene实现了倒排索引的理念,所谓Lucene就是一个jar包,里面封装了全文检索的引擎、搜索的算法代码。开发时,引入lucene的jar包,通过api开发搜索相关业务。底层会在磁盘建立索引库。
4 倒排索引
文章编号 | 文章内容 |
---|---|
1 | {ElasticSearch简称为ES,是一个全文搜索引擎} |
2 | {全文搜索引擎,比较火的有ElasticSearch还有Solr} |
3 | {最近微服务火爆,究竟什么是微服务呢} |
4 | {常见的微服务组件:Nacos、Seata、Dubbo} |
5 | {关于关系型数据库和非关系型数据库的讲解} |
倒排索引
作为查询条件的,我们称为关键字
索引index | 关键字 | 出现的位置 |
---|---|---|
1 | ElasticSearch | 1,2 |
2 | 全文搜索引擎 | 1,2 |
3 | 搜索引擎 | 1,2 |
4 | 引擎 | 1,2 |
5 | Solr | 2 |
6 | 微服务 | 3,4 |
7 | Nacos | 4 |
8 | Seata | 4 |
9 | Dubbo | 4 |
5 数据库中索引的基本概念
所谓的索引其实就是数据目录
通常情况下,索引是为了提高查询效率
数据库索引分两大类:聚集索引、非聚集索引
聚集索引就是数据库保存数据的物理顺序,默认情况下就是主键id,所以按id查询数据库中的数据效率非常高
如果想在非主键的列添加索引,就是非聚集索引
使用索引需要注意的问题:
1.创建的索引会占用硬盘空间
2.创建索引之后,对该表进行增删改的操作时,会引起索引的更新,所以效率会降低
3.对数据库进行批量新增时,先删除索引,增加数据完毕之后再创建
4.不要对数据库样本少的列添加索引
5.当我们执行查询时,where条件后面应该先查询有索引的列
6.我们要明确查询条件,索引才会生效
数据库中有索引可以提高查询效率,但是模糊查询,会使用索引失效
模糊查询语句通常写成这样
SELECT title
FROM item
WHERE title LIKE "%手机%";
我们使用索引的前提是条件要明确,但是模糊查询使用的是前条件模糊查询,会使用索引失效
有人经过测试一张千万级别的数据库在数据库进行模糊查询时需要20秒以上的时间
当前互联网项目要求"三高"的需要下,效率太低了,不符市场需求
需要对查询进行优化,在课程项目中使用的ElasticSearch,优化后从同样的数据量的ES中查询相同的数据,效率能够提高100倍以上
ElasticSearch主要是为了解决数据库模糊查询性能低下的问题
上一篇文章:Quartz的使用-CSDN博客https://blog.csdn.net/Z0412_J0103/article/details/143355565下一篇文章: Elasticsearch的功能及概念-CSDN博客
https://blog.csdn.net/Z0412_J0103/article/details/143556512
相关文章:

全文检索ElasticSearch到底是什么?
学习ElasticSearch之前,我们先来了解一下搜索 1 搜索是什么 ① 概念:用户输入想要的关键词,返回含有该关键词的所有信息。 ② 场景: 1互联网搜索:谷歌、百度、各种新闻首页; 2 站内搜索ÿ…...

FPGA实现串口升级及MultiBoot(五)通过约束脚本添加IPROG实例
本文目录索引 一个指令和三种方式通过约束脚本添加Golden位流工程MultiBoot位流工程验证example1总结代码缩略词索引: K7:Kintex 7V7:Vertex 7A7:Artix 7MB:MicroBlaze上一篇文章种总结了MultiBoot 关键技术,分为:一个指令、二种位流、三种方式、四样错误。针对以上四句话我…...

文献阅读 | Nature Methods:使用 STAMP 对空间转录组进行可解释的空间感知降维
文献介绍 文献题目: 使用 STAMP 对空间转录组进行可解释的空间感知降维 研究团队: 陈金妙(新加坡科学技术研究局) 发表时间: 2024-10-15 发表期刊: Nature Methods 影响因子: 36.1࿰…...

【模块化大作战】Webpack如何搞定CommonJS与ES6混战(1-3)
在前端开发中,模块化是一个重要的概念,不同的模块化标准有不同的特点和适用场景。webpack 同时支持 CommonJS 和 ES6 Module,因此需要理解它们在互操作时 webpack 是如何处理的。 同模块化标准 如果导出和导入使用的是同一种模块化标准&…...

[NewStar 2024] week5完结
每次都需要用手机验证码登录,题作的差不多就没再进过。今天把week5解出的部分记录下。好像时间过去很久了。 Crypto 没e也能完 这题给了e,p,q,dp,dq。真不清楚还缺啥 long_to_bytes(pow(c,dp,p)) 格格你好棒 给了a,b和提示((p2*r) * 3*a q) % b < 70 其中r…...

IntelliJ IDEA的快捷键
IntelliJ IDEA 是一个非常强大的集成开发环境,它提供了大量的快捷键来加速开发者的日常工作。这里为您整理了一份 IntelliJ IDEA 的快捷键大全,包含了编辑、导航、重构、运行等多个方面的快捷键。请注意,这些快捷键是基于 Windows 版本的 Int…...

暮雨直播 1.3.2 | 内置直播源,频道丰富,永久免费
暮雨直播是一款内置直播源的电视直播应用程序,提供丰富的频道内容,包括教学、首页、一线、博主、解说、动漫、堆堆等。该应用的内置直播源持续更新维护,确保用户可以稳定地观看各种电视频道。暮雨直播承诺永久免费,为用户提供了一…...

单相锁相环,原理与Matlab实现
单相锁相环基本原理 单相锁相环的基本原理图如下所示, u α u_\alpha uα u β u_\beta uβ经Park变换、PI控制实现对角频率 ω \omega ω和角度 θ \theta θ的估算。不同锁相环方案之间的差异,主要表现在正交电压 u β u_\beta uβ的生成&#x…...

PICO+Unity 用手柄点击UI界面
如果UI要跟随头显,可将Canvas放置到XR Origin->Camera Offset->Main Camera下 1.Canvas添加TrackedDeviceGraphicRaycaster组件 2.EventSystem移动默认的Standard Input Module,添加XRUIInputModule组件 3.(可选)设置射线可…...

Rust移动开发:Rust在iOS端集成使用介绍
iOS调用Rust 上篇介绍了 Rust移动开发:Rust在Android端集成使用介绍, 这篇主要看下iOS上如何使用Rust,Rust可以给移动端开发提供跨平台,通用组件支持。 该篇适合对iOS、Rust了解,想知道如何整合调用和编译的,如果想要…...

虚拟现实技术在旅游行业的应用
💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 虚拟现实技术在旅游行业的应用 虚拟现实技术在旅游行业的应用 虚拟现实技术在旅游行业的应用 引言 虚拟现实技术概述 定义与原理…...

《Java核心技术 卷I》Swing使用颜色
使用颜色 使用Graphics2D类的setPaint方法可以为图形上下文上的所有后续的绘制操作选择颜色。例如: g2.setPaint(Color.RED); g2.drawString("Warning!",100,100); 可以用一种颜色填充一个封闭图像(例如:矩形或椭圆)的内部。为此ÿ…...

神书《从零构建大模型》分享,尚未发布,GitHub标星22k!!
《从零构建大模型》是一本即将于今年10月底发布的书籍,github已经吸引了惊人的21.7k标星!作者是威斯康星大学麦迪逊分校的终身教授,在GitHub、油管、X上拥有大量粉丝,是一位真正的大佬。 本书免费获取地址 在本书中࿰…...

【JavaEE进阶】Spring AOP 原理
在之前的博客中 【JavaEE进阶】Spring AOP使用篇_aop多个切点-CSDN博客 我们主要学习了SpringAOP的应用, 接下来我们来学习SpringAOP的原理, 也就是Spring是如何实现AOP的. SpringAOP 是基于动态代理来实现AOP的,咱们学习内容主要分以下两部分 1.代理模式 2.Spring AOP源码剖…...

【网络安全】2.3 安全的网络设计_2.防御深度原则
文章目录 一、网络架构二、网络设备三、网络策略四、处理网络安全事件五、实例学习:安全的网络设计结论 网络设计是网络安全的基础,一个好的网络设计可以有效的防止攻击者的入侵。在本篇文章中,我们将详细介绍如何设计一个安全的网络&#…...

测绘程序设计|C#字符串及其操作|分割|取子串|格式化数值|StringBuilder类
由于微信公众号改变了推送规则,为了每次新的推送可以在第一时间出现在您的订阅列表中,记得将本公众号设为星标或置顶喔~ 简单介绍了C#字符串分割、取子串、拼接、格式化数值以及StringBuilder类,拿捏测绘程序设计大赛~ 🌿前言 字…...

自然语言处理——Hugging Face 详解
Hugging Face 是一个以自然语言处理(NLP)为核心的人工智能平台和开源社区,提供了一系列非常流行的机器学习工具和预训练模型,尤其在文本生成、分类、翻译、情感分析等任务中表现出色。Hugging Face 旗下最为著名的项目是 Transfor…...

本地保存mysql凭据实现免密登录mysql
本地保存mysql凭据 mysql加密登录文件简介加密保存mysql用户的密码到本地凭据 mysql加密登录文件简介 要在 mysql客户端 上连接 MySQL 而无需在命令提示符上输入用户名和口令,下列三个位置可用于存储用户的mysql 凭证来满足此要求。 配置文件my.cnf或my.ini /etc…...

Ubuntu 22 安装 Apache Doris 3.0.3 笔记
Ubuntu 22 安装 Apache Doris 3.0.3 笔记 1. 环境准备 Doris 需要 Java 17 作为运行环境,所以首先需要安装 Java 17。 sudo apt-get install openjdk-17-jdk -y sudo update-alternatives --config java在安装 Java 17 后,可以通过 sudo update-alter…...

构建智能防线 灵途科技光电感知助力轨交全向安全防护
10月27日,在南京南站至紫金山东站间的高铁联络线上,一头野猪侵入轨道,与D5515次列车相撞,导致设备故障停车。 事故不仅造成南京南站部分列车晚点,还在故障排查过程中导致随车机械师因被邻线限速通过的列车碰撞而不幸身…...

【go从零单排】泛型(Generics)、链表
🌈Don’t worry , just coding! 内耗与overthinking只会削弱你的精力,虚度你的光阴,每天迈出一小步,回头时发现已经走了很远。 📗概念 在Go语言中,泛型(Generics)允许你编写可以处理…...

IoTDB 与 HBase 对比详解:架构、功能与性能
五大方向,洞悉 IoTDB 与 HBase 的详尽对比! 在物联网(IoT)领域,数据的采集、存储和分析是确保系统高效运行和决策准确的重要环节。随着物联网设备数量的增加和数据量的爆炸式增长,开发者和决策者们需要选择…...

推荐一款ETCD桌面客户端——Etcd Workbench
Etcd Workbench 我相信很多人在开始管理ETCD的时候都去搜了Etcd客户端工具,然后找到了官方的Etcd Manager,但用完之后发现它并不好用,还不支持多连接和代码格式化,并且已经好几年不更新了,于是市面上就有了好多其他客…...

01 Oracle 数据库存储结构深度解析:从数据文件到性能优化的全链路探究
文章目录 Oracle 数据库存储结构深度解析:从数据文件到性能优化的全链路探究一、Oracle存储结构的物理层次1.1 控制文件(Control File)1.2 联机重做日志文件(Online Redo Log File)1.3 数据文件(Data File&…...

AI教育革命:个性化学习的新篇章
内容概要 在 教育 领域,人工智能 的崭露头角带来了前所未有的变化。如今,个性化学习 已不再是一个遥不可及的梦想,而是通过 AI 技术真正实现的可能。借助先进的数据分析能力,教师可以实时跟踪和评估每位学生的学习进度࿰…...

【网络原理】万字详解 UDP 和 TCP
🥰🥰🥰来都来了,不妨点个关注叭! 👉博客主页:欢迎各位大佬!👈 文章目录 1. UDP1.1 UDP 报文格式1.1.1 源端口/目的端口1.1.2 报文长度1.1.3 校验和 2. TCP2.1 TCP 报文结构2.2 TCP 特…...

从零开始搭建Halo个人博客
前言 老话说得好,好记性不如烂笔头。对于程序员来说,学无止境,需要学习的东西很多,而如果不记录下来可能过不了多久就忘记了,而记录下来这一步也能很好地贯彻费曼学习法。 其实网上有很多博客平台,但是自…...

AMD显卡低负载看视频掉驱动(chrome edge浏览器) 高负载玩游戏却稳定 解决方法——关闭MPO
2024.11.9更新 开关mpo ulps 感觉有用但是还是掉驱动,现在确定是window顶驱动问题 按网上的改注册表和组策略会让自己也打不上驱动 目前感觉最好的办法就是,重置此电脑,然后你就摆着电脑挂个十分钟半小时别动,一开始他是不显示…...

数据结构——二叉树(续集)
♥♥♥~~~~~~欢迎光临知星小度博客空间~~~~~~♥♥♥ ♥♥♥零星地变得优秀~也能拼凑出星河~♥♥♥ ♥♥♥我们一起努力成为更好的自己~♥♥♥ ♥♥♥如果这一篇博客对你有帮助~别忘了点赞分享哦~♥♥♥ ♥♥♥如果有什么问题可以评论区留言或者私信我哦~♥♥♥ ✨✨✨✨✨✨个人…...

ElasticSearch学习篇16_《检索技术核心20讲》进阶篇之空间检索
背景 学习极客实践课程《检索技术核心20讲》https://time.geekbang.org/column/article/215243,文档形式记录笔记。 相关问题: 查询范围固定的需求 直接计算两点之间距离区域二进制编码GeoHash编码 查询范围不固定的需求 GeoHash编码索引结构设计 基于…...