首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ElasticSearch(7.2.2)-全⽂搜索引擎的概念

ElasticSearch(7.2.2)-全⽂搜索引擎的概念

作者头像
cwl_java
发布2019-10-31 00:16:25
3840
发布2019-10-31 00:16:25
举报
文章被收录于专栏:cwl_Javacwl_Java

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/weixin_42528266/article/details/102784895

数据的分类
  • 结构化数据:指具有固定格式或有限⻓度的数据,如数据库,元数据等。
    • 对于结构化数据,我们⼀般都是可以通过关系型数据库(mysql,oracle等)的 table 的⽅式存储和搜索,也可以建⽴索引。通过b-tree等数据结构快速搜索数据。
  • ⾮结构化数据:全⽂数据,指不定⻓或⽆固定格式的数据,如邮件,word⽂档等。
    • 对于⾮结构化数据,也即对全⽂数据的搜索主要有两种⽅法:顺序扫描法,全⽂搜索法。
顺序扫描
  • 按字⾯意思,我们可以了解它的⼤概搜索⽅式,就是按照顺序扫描的⽅式查找特定的关键字。⽐如让你在⼀篇篮球新闻中,找出"科⽐"这个名字在哪些段落出现过。那你肯定需要从头到尾把⽂章阅读⼀遍,然后标记出关键字在哪些地⽅出现过。
  • 这种⽅法毋庸置疑是最低效的,如果⽂章很⻓,有⼏万字,等你阅读完这篇新闻找到"科 ⽐"这个关键字,那得花多少时间。
全⽂搜索
  • 对⾮结构化数据进⾏顺序扫描很慢,我们是否可以进⾏优化?把我们的⾮结构化数据想办法弄得有⼀定结构不就⾏了吗?将⾮结构化数据中的⼀部分信息提取出来,重新组织,使其变得有⼀定结构,然后对这些有⼀定结构的数据进⾏搜索,从⽽达到搜索相对较快的⽬的。这种⽅式就构成了全⽂搜索的基本思路。这部分从⾮结构化数据中提取出的然后重新组织的信息,我们称之索引。
  • 我们以NBA中国⽹站为例,假设我们都是篮球爱好者,并且我们是科密,那如何快速找到有关科⽐的新闻呢?全⽂搜索的⽅式就是,将所有新闻中所有的关键字进⾏提取,⽐如"科⽐",“詹姆斯”,“总冠军”,"MVP"等关键字,然后对这些关键字建⽴索引,通过索引我们就可以找到对应的该关键词出现的新闻了。
什么是全⽂搜索引擎
  • 根据百度百科中的定义,全⽂搜索引擎是⽬前⼴泛应⽤的主流搜索引擎。它的⼯作原理是计算机索引程序通过扫描⽂章中的每⼀个词,对每⼀个词建⽴⼀个索引,指明该词在⽂章中出现的次数和位置,当⽤户查询时,检索程序就根据事先建⽴的索引进⾏查找,并将查找的结果反馈给⽤户的。
搜索引擎
  • Lucene
  • Solr
  • Elastic search
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-10-28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 数据的分类
  • 顺序扫描
  • 全⽂搜索
  • 什么是全⽂搜索引擎
  • 搜索引擎
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档