全文索引概述 | 学习笔记

简介: 快速学习全文索引概述

开发者学堂课程【ElasticSearch 入门精讲全文索引概述学习笔记,与课程紧密连接,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/631/detail/9998


全文索引概述


ES JavaAPL_全文素引概述

全文检索是计算机程序通过扫描文章中的每一个词,对必要的词建立一个索引,指明该词在文章中出现的次数和位置。当用户查询时根据建立的索引查找,类似于通过字典的检索字表查字的过程。

全文检索(Full-Text Retrieval)是指以文本作为检索对象,找出含有指定词汇的文本。全面、准确和快速是衡量全文检索系统的关键指标。

关于全文检索,我们要知道:

1.只处理文本。

2.不处理语义。

3.搜索时英文不区分大小写。

4.结果列表有相关度排序。

5.并且可以对结果具有过滤高亮的功能


全文检索应用场景

我们使用 Lucene,主要是做站内搜索,即对一个系统内的资源进行搜索。如 BBS、BLOG 中的文章搜索,网上商店中的商品搜索等。

所以,学完 Lucene 后我们就 可以为自已的项目增加全文检索的功能。

例如一些基于商城的全文检索系统:在项目中构建一个对于商品的全文检索功能,让买家先搜索索引库中的内容,得到商品的基本信息而且是按照某种规则排序的(例 如热卖、点击率...).感兴趣在通过连接,读取数据库的完成数据,这样既可以实现高效的查询效率,又可以为分流查询请求。


全文检索与数据查询的区别

相关度排序:查出的结果没有相关度排序,不知道我想要的结果在哪一页。我们在使用百度搜索时,一般不需要翻页,为什么?因为百度做了相关度排序:为每一条结果打一个分数,这条结果越符合搜索条件,得分就越高,叫做相关度得分,结果列表会按照这个分数由高到低排列,所以第1页的结果就是我们最想要的结果

查询的方式:全文检索的速度大大快于SQL的like搜索的速度。这是因为查询方式不同造成的,以查字典举例:数据库的like就是一页一页的翻,一行一行的找,而全 文检索是先查目录,得到结果所在的页码,再直接翻到这一页

定位不一样:一个更侧重高效、安全的存储、一个是侧重准确、方便的搜索

ES 是基于 Lucene 的开源搜索引擎,其查询语法关键字部分和 lucene 大致一样:

分页:from/size、字段:fields、排序:sort、查询:query

过滤:filter、高亮:highlight、统计:facet

Search Type

查询 query

中文分词

相关文章
|
SQL 前端开发 关系型数据库
七.全文检索ElasticSearch经典入门-聚合查询
七.全文检索ElasticSearch经典入门-聚合查询
|
6月前
|
自然语言处理 关系型数据库 PostgreSQL
|
存储 JSON 自然语言处理
|
存储 JSON 自然语言处理
三.全文检索ElasticSearch经典入门-索引CRUD&分词器&文档映射&文档CRUD
三.全文检索ElasticSearch经典入门-索引CRUD&分词器&文档映射&文档CRUD
|
存储 关系型数据库 MySQL
【MySQL从入门到精通】【高级篇】(十)MyISAM的索引方案&&索引的优缺点
前面几篇文章介绍完了InnoDB存储引擎的索引方案,这篇文章接着来介绍下MyISAM存储引擎的索引方案。 MyISAM和InnoDB存储引擎默认的索引都是B+Tree索引 MyISAM引擎使用B+Tree作为索引结构,叶子节点的data域存放的是数据记录的地址。
398 0
【MySQL从入门到精通】【高级篇】(十)MyISAM的索引方案&&索引的优缺点
|
SQL 关系型数据库 MySQL
MySQL基础-多表查询概述
多表查询就是指从多张表中查询数据。
81 0
|
存储 NoSQL 搜索推荐
索引的概述和类型 | 学习笔记
快速学习 索引的概述和类型
索引的概述和类型 | 学习笔记
|
NoSQL MongoDB 开发者
索引的使用 涵盖的查询 | 学习笔记
快速学习 索引的使用 涵盖的查询
索引的使用 涵盖的查询 | 学习笔记
|
JSON NoSQL MongoDB
数据查询简介|学习笔记
快速学习数据查询简介
数据查询简介|学习笔记
|
存储 缓存 关系型数据库
存储引擎简介|学习笔记
快速学习存储引擎简介
存储引擎简介|学习笔记
下一篇
无影云桌面