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

现在不缺乏做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. Sprint第一个冲刺(第八天)

    一.Sprint介绍 完善点餐界面,点击进行跳转. 实验截图: 任务进度: 二.Sprint周期 看板: 燃尽图:

  2. 使用distillery 构建专业的 phoenix 项目软件包

    备注:     首先需要安装 elixir 环境   1. 基本项目说明 参考项目: https://github.com/rongfengliang/phoenix-rest-demo 2. 项目说 ...

  3. SQL 中nvarchar和varchar到底能存多少汉字和英文

    实践出真知,在SQL中,nvarchar(50)表示汉字和英文都是50,varchar(50)汉字25,英文50

  4. 3.JMeter添加集合点

    1.JMeter的集合点是通过添加定时器来完成的,在做性能测试时,真正的并发是不可能的,为了更真实的模拟并发场景,因此在需要压测的地方设置集合点,即可一起操作发送请求. 2.JMeter添加定时器,右 ...

  5. Extjs tree1

    1.代码如下: 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://w ...

  6. Error[Li006]: duplicate definitions for "******"

    今天参考别人程序写程序时出现Error[Li006]: duplicate definitions for "******". 参考程序中将变量和数据定义在(.h)文件中,我也就直 ...

  7. NumPy-快速处理数据--ufunc运算--广播--ufunc方法

    本文摘自<用Python做科学计算>,版权归原作者所有. 1. NumPy-快速处理数据--ndarray对象--数组的创建和存取 2. NumPy-快速处理数据--ndarray对象-- ...

  8. java代码---------再练习ChatAt()的用法

    总结: 没有理解方法的含义.瞎用 package com.mmm; //实现字符串中某个字符出现的次数 public class Mo { public static void main(String ...

  9. 项目中Map端数据处理不均匀性分析

    Map任务的不均匀性 最近发现Map端数据越来越不均匀,而处理输入的数据,写到本地磁盘的数据量都差不多,我们随便拿出来两个attempt任务(当前map数量为64个),33和45,33的counter ...

  10. SQL Server此数据库没有有效所有者

    一般此问题出现在还原外部数据库文件的时候,是因为还原的时候本机数据库没有所还原数据库中的用户. 1.选中所还原数据库,安全->用户,删除没有的用户. 2.选中所还原数据库,右键属性->文件 ...