前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >全文检索技术

全文检索技术

作者头像
姜同学
发布2022-10-27 16:18:50
7590
发布2022-10-27 16:18:50
举报
文章被收录于专栏:姜同学姜同学

前言

传统检索

文件内存检索

windows操作系统文件检索,word oneNote excel等等 数据 量是不大的,将文件本身加载到内存中 功能相对不算丰富。

数据库检索

基于sql的like语句对数据库进行模糊查询,但是使用like语句 进行搜索的效率极低。

全文检索

全文数据库是全文检索系统的主要构成部分。所谓全文数据库是 将一个完整的信息源的全部内容转化为计算机可以识别、处理的 信息单元而形成的数据集合。全文数据库不仅存储了信息,而且 还有对全文数据进行词、字、段落等更深层次的编辑、加工的功 能,而且所有全文数据库无一不是海量信息数据库。(来自百度 百科)

全文检索如何实现高精度匹配

以百度搜索为例,当你百度一下你想要搜索的内容之后,页面返回 大量的信息,这些信息是从哪里来的,随便点进一个链接都会进入 不同的网站,所以可以确定,页面上展示的资源来自公网,那么这些 公网资源都是百度的爬虫即时搜索的吗,F5刷新一下百度为您找到相关结果约 xxxx个并没有动,所以这些信息是以另一种方式出现的。百度的分布式爬虫 对公网上的信息进行大量的抓取放到百度的分布式文件系统中,在经过整理 放到全文检索数据库中,当我们搜索时,百度的搜索引擎使用关键字对全文检索 数据库检索即可。

全文检索工具包lucene

公网上那么多的资源是怎么经过经过整理放到全文数据库中的呢, 原始时代就不过多赘述了,直接介绍一下lucene工具包,全文检索 技术中的工具包.可以极大的提升对全文检索技术开发的效率,由美国 的Doug Cutting(狗哥) hadoop创始人开发。

倒排索引算法

将大量的原数据经过整理放入全文数据库并进行检索,就需要我们 创建索引(搜索的关键字)和检索索引,创建索引时,就是用了一种 倒排索引的算法

DocId

Doc

1

谷歌地图之父跳槽 Facebook

2

谷歌地图之父加盟 Facebook

3

谷歌地图创始人拉斯离开谷歌加盟 Facebook

4

谷歌地图之父跳槽 Facebook 与 Wave 项目取消有关

5

谷歌地图之父拉斯加盟社交网站 Facebook

文档分词之后得到如下倒排索引

WordId

Word

DocIds

1

谷歌

1,2,3,4,5

2

地图

1,2,3,4,5

3

之父

1,2,4,5

4

跳槽

1,4

5

Facebook

1,2,3,4,5

6

加盟

2,3,5

7

创始人

3

8

拉斯

3,5

9

离开

3

10

4

可以理解为索引对象底层使用双层map作为容器key值记录分词之后的 词项,value的key值为记录文档ID的数组,value的value为记录文档 域属性的数组,其实索引文件里面记录的是矩阵

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-08-06T,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 传统检索
    • 文件内存检索
      • 数据库检索
      • 全文检索
      • 全文检索如何实现高精度匹配
      • 全文检索工具包lucene
      • 倒排索引算法
      相关产品与服务
      容器服务
      腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档