首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

干掉 SQL 中的 like,我用 es 后,小姐姐们都说好快!

如果用像 MySQL 这样的 RDBMS 来存储古诗的话,我们应该会去使用这样的 SQL 去查询 select name from poems where content like "%前%"; 这种我们称为顺序扫描法...搜索引擎原理 搜索引擎的搜索原理简单概括的话可以分为这么几步, 内容爬取,停顿词过滤,比如一些无用的像"的",“了”之类的语气词/连接词 内容分词,提取关键词, 根据关键词建立倒排索引 用户输入关键词进行搜索...当然这只是一个很大白话的形式来描述倒排索引的简要工作原理。在 ES 中,这个倒排索引是具体是个什么样的,怎么存储的等等,这些才是倒排索引的精华内容。...term 关键词这个东西是我自己的讲法,在 ES 中,关键词被称为 term。 postings list 还是用上面的例子,{静夜思, 望庐山瀑布}是 "前" 这个 term 所对应列表。...它经常被作为索引用在数据库、查询引擎和搜索引擎中,并且位操作(如 and 求交集、or 求并集)之间可以并行,效率更好。

45020
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【迅搜02】究竟什么是搜索引擎?正式介绍XunSearch

    搜索引擎是工作于互联网上的一门检索技术,它指在提高人们获取搜集信息的速度,为人们提供更好的网络使用环境。从功能和原理上搜索引擎大致被分为全文搜索引擎、元搜索引擎、垂直搜索引擎和目录搜索引擎等四大类。...在 XS 中我们没有这个呀?不不不,有的,我们后面会看到,XS 自带的测试 demo 的结构就是和这个一样的。然后插入同样的三条数据。接下来进行查询测试。...说实话,没有系统学习搜索引擎相关的知识前,我也不知道,我也以为它就是和 like 一样。为啥一个“项”字就搜不出来东西了?真是垃圾。 照这么说的话,ES 可能也得划到垃圾的范围中了。...那么可以像类似于 like 一样去搜索吗?可以,但是不推荐,等到后面学习分词相关的知识时,我们会回来解决这个问题。...没办法,我也想直接全部都在 XS 的学习过程中穿插概念性的内容,但是在搜索引擎中,索引和分词的概念确实是要提前说明的,就像上面的例子一样,否则大家就会一直在疑惑为啥总是搜索不到想要的东西。

    62240

    谈一谈es的优势和限制

    先抄个百度百科: 垂直搜索引擎是针对某一个行业的专业搜索引擎,是搜索引擎的细分和延伸,是对网页库中的某类专门的信息进行一次整合,定向分字段抽取出需要的数据进行处理后再以某种形式返回给用户。...甚至有些电商公司要求程序中不允许出现orm,必须用纯sql来完成业务逻辑,这样dba可以直接介入到代码中来。...mysql表在普通查询过程中,比如select * from xxx limit 100w, 100;这种,小网站随便写sql,可能不会体会到翻页的痛。...如果在select语句的where条件中也有表达式时,这两种存储引擎本质上都是一样的,都会很慢很慢。...如果你还想实现事务,我劝你还是别想了。 在企业里用es提供查询服务的话,一般都会做一层查询封装。直接提供sql接口。

    1.9K40

    【CSS3】css开篇基础(6)

    当然,如果在阅读中发现任何问题或疑问,我非常欢迎你在评论区留言指正️️。让我们共同努力,一起进步! 加油,一起CHIN UP!...匹配具有att属性且值中含有val的E元素 其 [] 权重跟类选择器一样都为10. 3.结构伪类选择器 结构伪类选择器是CSS中用于选择元素的特定状态或位置的伪类。...它们可以帮助开发者更灵活地选择元素,基于元素在文档中的结构或其关系。...这意味着使用伪元素(如::before和::after)时,默认情况下内容会像普通文本一样在行内排列。...9.SEO优化 SEO优化: 对网站进行深度的优化,在搜索引擎上提升网站的排名 title网站的名字 网站名(产品名)+网站的介绍(不超过30个汉字),写在</title

    6010

    微软的数据湖也凉凉了

    COSMOS features a SQL-like query engine called SCOPE upon which U-SQL was built....Cosmos用来处理应用程序比如Azure, AdCenter, Bing,MSN, Skype和Windows Live的数据。Cosmos有一个像SQL一样的查询引擎叫做SCOPE。...U-SQL是在其上构建的。 这段话有点像黑话,我来翻译一下。微软有个内部大数据平台Cosmos,微软的很多部门都用它去存储和分析数据。Cosmos上有个分析引擎脚SCOPE,和SQL很像。...有些读文章的人知道,我毕业的第一份工作,在微软一个叫Cosmos的队伍,做的是一个叫SCOPE的语言。所以这解释了为什么在飞机上我还戚戚然了。 ?...作为重组的一部分,Cosmos被从必应搜索引擎给剥离出来,划给了当时做SQL Azure和HDInsight的DPG(Data Processing Group)。

    2.7K20

    【CSS】253- 从原型图到成品:步步深入 CSS 布局

    CSS 的玩法可与 SKetch 或者 Photoshop 的玩法不一样。 在本文中,我将向你展示如何以统筹全局的思维实现 CSS 布局,根治布局难产的顽疾。...布局小例子 在本文中,我们要比照 Twitter 的推文组件自己仿写一个: ? 不论是一个像这样的草图,还是一个细节精美的原型图,“有章可循” 总是个好主意。...我们用类选择器锁定了所有类名为 tweet 的元素。当然目前只有一个这样的元素,但如果有十个,那它们将都会是 Flex 容器了。 CSS 中以 . 开头的选择器代表类选择器。为什么是 .?我可不知道。...我们要把字体设为 Helvetica(Twitter 用的那一款)、把字号缩小一些、把用户名加粗,还有,翻转 “@handle 用户名 的顺序(在 HTML 代码中),使之与 Twitter 一模一样。...你可以恣意发挥,像给任何其他元素设置样式一样。伪元素用来实现标记(badge)、消息提醒或其他小花样最合适不过了。 图标按钮 还有一项工作要做,那就是用图标替换按钮。

    4.4K51

    Python 寒假实训 Day1

    额,前提是我的体验感很好。...实训导师和岩姐挺像的,在她帮我调试电脑的时候发现的。 挺喜欢她讲东西的,虽然下午由于我的操作,把电脑差点弄蹦了之外,python 还让我一下子给弄没了,听说 ” 许多的妹子放弃计算机,是因为安装软件。...今天至少更新了一下自己的知识认识: 1、HTML 中,或者说是写的网页中,一般都只能是一个 ,因为这好像叫”网站优化标题标签“,就是我们在搜索的时候的,一般会根据 H1来搜索,一个页面也就有一个了....如:单个文章列表页,文章或产品内容页. (2)H1≠title,title可以包含H1,H1完全是为了给用户看的,但是搜索引擎也很重视H1,title是给用户和搜索引擎看的. (3)H1不要用在Logo...上. (4)H1在一个页面最多只能有一个,不要用多个. 2、又复习了一遍各种选择器和权重(当然这都是前言的 HTML中的)。

    23020

    HTML和CSS

    从IE6开始,引入了Standards模式,标准模式中,浏览器尝试给符合标准的文档在规范上的正确处理达到在指定浏览器中的程度。...PDA、手机等设备可能无法像普通电脑的浏览器一样来渲染网页(通常是因为这些设备对CSS的支持较弱) 使用语义标记可以确保这些设备以一种有意义的方式来渲染网页.理想情况下,观看设备的任务是符合设备本身的条件来渲染网页...了解搜索引擎如何抓取网页和如何索引网页 你需要知道一些搜索引擎的基本工作原理,各个搜索引擎之间的区别,搜索机器人(SE robot 或叫 web crawler)如何进行工作,搜索引擎如何对搜索结果进行排序等等...不同的搜索引擎对页面的抓取和索引、排序的规则都不一样。还要了解各搜索门户和搜索引擎之间的关系,比如AOL网页搜索用的是Google的搜索技术,MSN用的是Bing的技术。...列出display的值,说明他们的作用。position的值, relative和absolute定位原点是? 1.block 像块类型元素一样显示。 none 缺省值。向行内元素类型一样显示。

    5.4K30

    SQL反模式学习笔记17 全文搜索

    目标:全文搜索 使用SQL搜索关键字,同时保证快速和精确,依旧是相当地困难。 SQL的一个基本原理(以及SQL所继承的关系原理)就是一列中的单个数据是原子性的。...,它们能帮助你用 最少的工作量获得正确的结果。...解决方案:使用工具   最好的方案就是使用特殊的搜索引擎技术,而不是SQL。   另一个方案是将结果保存起来从而减少重复的搜索开销。   ...2、Oracle中的文本索引:Context、Ctxcat、Ctxxpath、Ctxule。   3、SQL Server中的全文搜索:使用Contains()操作符来使用全文索引。...6、第三方搜索引擎:     (1)Sphinx Search:开源的搜索引擎,用于MySQL以及PostgreSQL来配套使用。

    1.2K10

    BAT及各大互联网公司2014前端笔试面试题--Html,Css篇

    它和Standards模式有什么区别   答案:   从IE6开始,引入了Standards模式,标准模式中,浏览器尝试给符合标准的文档在规范上的正确处理达到在指定浏览器中的程度。   ...PDA、手机等设备可能无法像普通电脑的浏览器一样来渲染网页(通常是因为这些设备对CSS的支持较弱)   使用语义标记可以确保这些设备以一种有意义的方式来渲染网页.理想情况下,观看设备的任务是符合设备本身的条件来渲染网页...了解搜索引擎如何抓取网页和如何索引网页   你需要知道一些搜索引擎的基本工作原理,各个搜索引擎之间的区别,搜索机器人(SE robot 或叫 web crawler)如何进行工作,搜索引擎如何对搜索结果进行排序等等...不同的搜索引擎对页面的抓取和索引、排序的规则都不一样。还要了解各搜索门户和搜索引擎之间的关系,比如AOL网页搜索用的是Google的搜索技术,MSN用的是Bing的技术。...与样式定义在文件中的先后顺序有关,即是后面的覆盖前面的,与在中的先后关系无关。

    91251

    2021年,SQL注入死透了么?

    很长一段时间,我认为后端开发,在安全性方面最容易出问题的地方就在于SQL注入。...如果你用了Java界的MyBatis或者JPA,发生SQL注入的可能性就变的非常的低。现在PHP也有了类似于thinkphp一样的框架,代表着能搞的SQL注入漏洞已经越来越少了。...这两个符号非常的像Shell中的魔幻符号,但好在只有两种情况。...像一些代码重构,把表名/列名/排序等字段,动态传入的时候,不可避免的就需要SQL拼接的方式,SQL注入依然有搞头。 但更容易发生问题的,还是LIKE和IN等类似的语句。...但是工期压死人,在不知不觉间,大多数人就选择了简单的写法。毕竟功能第一嘛,也是体现工作量的最主要方式。

    1K20

    一条查询sql的完整执行流程(从连接到引擎,穿插涉及到的知识,超详细)

    show variables like 'max_connections'; 上图: 这个不同版本是不一样的,我的是200,你们可以看下你们的 但是最大上限都是100000(别数了,十万)...有一张500万行数据的表,没有索引,如果我两次执行一模一样的SQL语句,第二 次会不会变得很快? 不会,因为MySQL的缓存默认是关闭的。 既然默认关闭,那肯定就是不推荐使用了,为什么呢?...在市面上也有很多的开源的词法解析的工具(比如LEX, Yacc)。 3.3预处理器 如果我写了一个词法和语法都正确的SQL,但是表名或者字段不存在,会在 哪里报错?是在数据库的执行层还是解析器?...表级锁定限制了读/写的性能,因此在Web和数据仓库配置中,它通常用于只读或以读为主的工作。 特点: 支持表级别的锁(插入和更新会锁表)。不支持事务。...将所有数据存储在RAM中,以便在需要快速查找非关键数据的环境中快速访问。这 个引擎以前被称为堆引擎。

    1.1K20

    搜索:ElasticSearch OR MySQL?

    那么,在开发企业级应用的过程中,很多同学一定遇到过这样的困惑,当完成了应用程序的基本增删查改功能之后,用户会经常吐槽当下的查询功能并不能满足自己的查询需求。...假设我要求职,这里我们有一张职位数据表jobs,我想从中检索一些我想要的工作,一般我会先想好关键词,比如舒适办公环境、有良好晋升空间等,如果用MySQL实现,你可能会这样写SQL:SELECT * FROM...这样做,理论上是可以搜到一些数据的,比如和用户输入的关键词完全匹配的就可以,但是假设jobs表中很多对工作职位的描述换了个说法,比如办公环境舒适、晋升空间良好等,颠倒了词的顺序,LIKE关键词肯定是匹配不到了...另外,LIKE是全表扫描的一个操作,如果你的数据量较小,还好说,但如果你数据量在百万、千万甚至更多的时候,耗时将是不可想象的,更别说还有恼人的分词问题,单单使用MySQL是无法解决的。...总结 ElasticSearch作为当下越来越火爆的分布式搜索引擎以及大数据分析中间件,在互联网技术中,已经占据了半壁江山,在BAT等各大互联网公司都有不同程度的应用,成为了程序猿小朋友不可忽视的一门刚需技术

    1.8K10

    数据库优化:SQL高性能优化指南,助你成就大神之路!

    如果使用 EXISTS,那么只要查到一行数据满足条件就会终止查询, 不用像使用 IN 时一样扫描全表。...在这一点上 NOT EXISTS 也一样 另外如果 IN 后面如果跟着的是子查询,由于 SQL 会先执行 IN 后面的子查询,会将子查询的结果保存在一张临时的工作表里(内联视图),然后扫描整个视图,显然扫描整个视图这个工作很多时候是非常耗时的...8、减少中间表 在 SQL 中,子查询的结果会产生一张新表,不过如果不加限制大量使用中间表的话,会带来两个问题,一是展示数据需要消耗内存资源,二是原始表中的索引不容易用到,所以尽量减少中间表也可以提升性能...这是我司出现很多慢 SQL 的主要原因之一,尤其是在跑任务需要分页执行时,经常跑着跑着 offset 就跑到几十万了,导致任务越跑越慢。...」可以发现 key 为 None ,说明确实没有命中索引 我司在提供 SQL 查询的同时,也贴心地加了一个 EXPLAIN 功能及 sql 的优化建议,建议各大公司效仿 ^_^,如图示 21、 批量插入

    86920

    前端入门系列之CSS

    比如,我想将我的CSS规则应用到我HTML文档中的所有段落上。...内部样式表 内部样式表是指不使用外部 CSS 文件,而是将你的 CSS 放置在 元素中,该元素包含在 HTML head 内。此时HTML看起来像这样: <!...| └─ "Style" └─ SPAN └─ "Sheets" 这就是浏览器解释先前的HTML片段的过程 —它渲染上述的DOM树,之后在浏览器中像这样输出它。...rem: REM(root em)和em以同样的方式工作,但它总是等于默认基础字体大小的尺寸;继承的字体大小将不起作用,所以这听起来像一个比em更好的选择,虽然在旧版本的IE上不被支持(查看关于跨浏览器支持...important 改变了层叠正常工作的方式,因此调试CSS问题,尤其是在大型样式表中,会变得非常困难。

    2.7K10

    如何用CSS实现一个搜索引擎?

    大家好,我卡颂。...在CSS中,我们通过selector(选择器)选择样式片段: .title { color: red; } 简而言之,选择器title对应样式color: red; 换个角度,我们也可以说:关键词...一个很显然的例子:搜索引擎。 在搜索引擎中输入关键词,搜索引擎经过检索,返回关键词对应的数据. 既然道理都一样,那能不能用纯CSS实现一个搜索引擎呢?...别说,机(无)智(聊)的人还是很多的,真的有人搞了CSS实现的搜索引擎[1]。 在该搜索引擎中输入员工姓名,会显示员工信息。 本文来聊聊他是如何实现的。...比如,输入cle后,搜索结果姓名中cle是加粗显示的: 分为2步实现: 自定义字体 在UTF-8的私有区域,为每个字母定义对应的加粗字体,比如:m在该字体中对应\e64d。

    65030

    适合Python菜鸟的爬虫入门课

    比如:大到大家经常使用的搜索引擎(Google, 搜狗); 当用户在Google搜索引擎上检索相应关键词时,谷歌将对关键词进行分析,从已“收录”的网页中找出可能的最符合用户的条目呈现给用户;那么,如何获取这些网页就是爬虫需要做的...,当然如何推送给用户最有价值的网页,也是需要结合相应算法的,这就涉及到数据挖掘的知识了; 比较小一些的应用,比如我们统计测试工作的工作量,这就需要统计一周/一月的修改单数量,jira记的缺陷数以及具体内容...,然后通过获取的数据做一些具体的分析/统计工作等。...(需要具备css选择器,html的树形结构domTree知识等,根据css选择器/html标签/属性定位我们需要的内容) python的requests(顾名思义,此模块用于发送request请求的/...1.数据库连接以及sql语句格式化 数据库连接及其操作,我单独封装成一个类ConnectDatabase; 1.读取本地的配置文件(Json文件:数据库的连接地址、账号、密码、数据库名等信息) 2.主要函数有数据库连接

    51820
    领券