全文检索主要应用领域:搜索引擎(百度,搜狗)、站内搜索(微博搜索)、电商网站(京东,淘宝)

现在不缺乏做java的人,但是缺乏有互联网背景的做Java的人。具有互联网技术的Java人才。比如说大数据,高并发,全文搜索这肯定也是。全文检索也是一个典型的互联网技术。你SSH叫做互联网技术吗?是吧。只要做Java项目都能用。只有掌握一到两门的互联网技术你找工作你才有砝码。

全文检索还有一个应用:搜索硬盘的文件。歌词名称各不一样,歌词内容乱七八糟。全文检索处理的是非机构化的数据。这次视频仅仅是对文本文件的处理,不涉及声音和图片。但是还有一种比较特殊的叫XML和HTML,XML你说它没格式它也有格式,你可以把它导入数据库中,也可以把它当做一个文本文件来处理。这种格式的文档把它叫做半结构化数据,也可以把它导入数据库中按结构化数据来处理,也可以把它看做是一个文本文档使用全文检索的方式来处理,作为分级化数据来处理。

建索引,数据库中也可以建立索引,查询一个字符串,在这个字符串数据类型上建索引也没有问题。但是你在这个字符串上建立索引的时候,你用like查询的时候,能用索引吗?也不能说全部都用不上啊。假如没有前面那个%,就是like "XXXX%",它是可以走索引的。但是你建立索引的这个字符串的长度mysql是有限制的,整个字段的长度不能超过128个字符,太长了它就没有办法建立索引。

先把文档分词,先对它进行分析,分词之后把分析出来的关键词建立索引,查询的时候根据这些词进行查询,查了这个词对应哪些文档?你就能查出来了。所以跟文档并没有关系,查了词再查文档,这样的话我查的时候就要查索引啊,查询速度加快。

全文检索和数据库like查询的区别

1.数据库like:结构化数据

全文检索:非结构化数据

2.搜索原理:

数据库:顺序扫描

全文检索:先分词,然后再查询索引,根据索引找到文档。

3.搜索效果:

数据库like:准确度低

全文检索:准确度高

排序:

数据库:或者是升序或者是降序。

全文检索:根据相关度进行排序。

02.全文检索和数据库like的区别的更多相关文章

  1. MySQL、MongoDB、Redis 数据库之间的区别与使用(本章迭代更新)

    MySQL.MongoDB.Redis 数据库之间的区别与使用 MySQL.MongoDB.Redis 数据库之间的区别与使用(本章迭代更新) update:2019年2月20日 15:21:19(本 ...

  2. SQL Server数据库和MySQL数据库有什么区别?

    SQL Server数据库和MySQL数据库有什么区别呢?详细很多初入IT行业的朋友对于SQL Server数据库和MySQL数据库经常搞混,认为这两种数据库是同一种,其实不然,今天我们来分析一下这两 ...

  3. MongoDB与传统数据库的使用区别——批量插入与批量查询

    我在百X知道上回答问题时经常遇到类似与这样的问题:MongoDB有没有像MySQL一样的ODBC驱动?MongoDB能不能像MySQL一样获取字段名称或类型. 我的回答是:不行,因为MongoDB不是 ...

  4. MySQL、MongoDB、Redis 数据库之间的区别

    NoSQL 的全称是 Not Only SQL,也可以理解非关系型的数据库,是一种新型的革命式的数据库设计方式,不过它不是为了取代传统的关系型数据库而被设计的,它们分别代表了不同的数据库设计思路. M ...

  5. 数据库别名AS区别

    Oracle之别名小结 MySQL表别名.字段别名注意事项 字段别名:可加 as  ,也可以不加,可以加单|双引号,也可以不加: 表别名:可加 as ,也可以不加,但是一定不能加单|双引号! Orac ...

  6. MySQL学习02(操作数据库)

    操作数据库 结构化查询语句分类 名称 解释 命令 DDL(数据库定义语言) 定义和管理数据对象,例如数据库和数据表 create.drop.alter DML(数据操作语言) 用于操作数据库对象中所包 ...

  7. 数据库join union 区别

    join 是两张表做交连后里面条件相同的部分记录产生一个记录集,union是产生的两个记录集(字段要一样的)并在一起,成为一个新的记录集. 1.JOIN和UNION区别  join 是两张表做交连后里 ...

  8. Sitecore中Core,Master和Web数据库之间的区别

    Core数据库 正如名称所示,Core Database是Sitecore应用程序的主干,它可用于多种用途. 核心数据库包含所有Sitecore设置. 它包含桌面模式,内容编辑器,页面编辑器等的定义. ...

  9. Redis,传统数据库,HBase,Hive区别联系

    首先介绍各个数据库: Redis: 传统数据库: HBase: Hive:

随机推荐

  1. maven docker plugin 常见问题解决

    1. maven 项目必须使用小写,不然会一直有500 的错误    500: HTTP 500InternalServerError     2. docker server  连接数超了 Fail ...

  2. elasticsearch 6.x 处理一对多关系使用场景

    思考:一个用户有多篇博客,如何查询博客作者姓名中带“旺”字.博客标题中带“运”的10篇博客列表 elasticsearch关联模型: 一: 应用层做联接2个索引博客作者.博客发布先从博客作者中查询出符 ...

  3. 封装与继承(PHP学习)

    什么是封装? 答:封装时不知道内部构造,对外部只展现功能的这种行为.例如:收音机,你不知道收音机内部的构造,但是你知道收音机是能用来听广播的. 在PHP中,封装是,不对外公布,属性和方法,这些属性和方 ...

  4. Unit07: document 对象 、 自定义对象 、 事件

    Unit07: document 对象 . 自定义对象 . 事件 知识点: <!DOCTYPE html> <html> <head> <meta chars ...

  5. js事件篇

    javascript和html之间的交互式通过事件来实现的,事件就是文档或浏览器窗口中发生的一些特定的交互. 事件流:描述的是从页面中接收事件的顺序. 不同的是,IE和Netscape开发团队竟然提出 ...

  6. struts2学习(3)struts2核心知识II

    一.struts.xml配置: 1.分模块配置方法: 比如某个系统多个模块,我们把资产管理模块和车辆管理模块,分开,在总的struts.xml配置文件中include他们: 工程结构: struts. ...

  7. STL算法与树结构模板

    STL算法 STL 算法是一些模板函数,提供了相当多的有用算法和操作,从简单如for_each(遍历)到复杂如stable_sort(稳定排序),头文件是:#include <algorithm ...

  8. Java-Runoob:Java 数组

    ylbtech-Java-Runoob:Java 数组 1.返回顶部 1. Java 数组 数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同. Java 语言 ...

  9. 这段时间使用MySQL的一些记录

    自从Fedora19之后,Linux上的MySQL就被MariaDB所取代,这段文字见如下引用: MySQL was replaced by MariaDB since Fedora 19 (http ...

  10. 浅谈PHP面向对象编程(二、基础知识)

    和一些面向对象的语言有所不同,PHP并不是一种纯面向对象的语言,包PIP它支持面向对象的程序设计,并可以用于开发大型的商业程序.因此学好面向对象输程对PHP程序员来说也是至关重要的.本章并针对面向对象 ...