【你问我答】ElasticSearch全文检索原理是怎样的?

问题描述:

ElasticSearch全文检索的原理是怎样的?

回答有奖:

选取一位认真回答问题的牛友,赠送200牛币!
▶回答尽量有自己的思考,不要单纯的只是复制粘贴定理定义,或者他人blog哦~

你问我答问题汇总:点击进入
关注你问我答栏目:点击关注

你问我答 - 答问题,成大佬,拿牛币!
你问我答是牛客新栏目,每周1期几个面试中真实遇到的问题,
牛友在问题贴下留下自己的知识,经验与见解,
帮助更多牛友了解更多技术相关知识!
#悬赏##面试题目##Java#
全部评论
我们生活中的数据总体分为两种:结构化数据和非结构化数据。 结构化数据:指具有固定格式或有限长度的数据,如数据库,元数据等。 非结构化数据:指不定长或无固定格式的数据,如 互联网数据、邮件,word文档等。 对非结构化数据顺序扫描很慢,对结构化数据的搜索却相对较快,那么把我们的非结构化数据想办法弄得有一定结构不就行了吗?这就是全文检索的基本思路,也就是将非结构化数据中的一部分信息提取出来,重新组织,使其变得有一定结构,然后对此有一定结构的数据进行搜索,从而达到搜索相对较快的目的。这部分从非结构化数据中提取出的然后重新组织的信息,我们称之索引 。 非结构化数据又一种叫法叫全文数据。 按照数据的分类,搜索也分为两种: 1. 对结构化数据的搜索: 如对数据库的搜索,用SQL语句。再如对元数据的搜索,如利用windows搜索对文件名,类型,修改时间进行搜索等。 2. 对非结构化数据的搜索: 如用Google和百度可以搜索大量内容数据。 对非结构化数据也即全文数据的搜索主要有两种方法:顺序扫描法和反向索引法。 1. 顺序扫描法:所谓顺序扫描法,就是顺序扫描每个文档内容,看看是否有要搜索的关键字,实现查找文档的功能,也就是根据文档找词。 2. 反向索引法:所谓反向索引,就是提前将搜索的关键字建成索引,然后再根据索引查找文档,也就是根据词找文档。 这种先建立索引,再对索引进行搜索文档的过程就叫全文检索(Full-text Search) 。 全文检索的流程分为两大流程:索引创建、搜索索引 索引创建:将现实世界中所有的结构化和非结构化数据提取信息,创建索引的过程。 搜索索引:就是得到用户的查询请求,搜索创建的索引,然后返回结果的过程。
2 回复
分享
发布于 2020-11-17 16:14

相关推荐

点赞 4 评论
分享
牛客网
牛客企业服务