什么是搜索
发布日期:2021-07-27 05:06:56
浏览次数:4
分类:技术文章
本文共 682 字,大约阅读时间需要 2 分钟。
一、搜索
什么是搜索, 计算机根据用户输入的关键词进行匹配,从已有的数据库中摘录出相关的记录反馈给用户。
常见的全网搜索引擎,像百度、谷歌这样的。但是除此以外,搜索技术在垂直领域也有广泛的使用,比如淘宝、京东搜索商品,万芳、知网搜索期刊,csdn中搜索问题贴。也都是基于海量数据的搜索。 1 如何处理搜索 1.1用传统关系性数据库弊端:
1、 对于传统的关系性数据库对于关键词的查询,只能逐字逐行的匹配,性能非常差。 2、匹配方式不合理,比如搜索“小密手机” ,如果用like进行匹配, 根本匹配不到。但是考虑使用者的用户体验的话,除了完全匹配的记录,还应该显示一部分近似匹配的记录,至少应该匹配到“手机”。1.2专业全文索引是怎么处理的
全文搜索引擎目前主流的索引技术就是倒排索引的方式。 传统的保存数据的方式都是 记录→单词 而倒排索引的保存数据的方式是 单词→记录 例如 搜索“红海行动” 但是数据库中保存的数据如图:那么搜索引擎是如何能将两者匹配上的呢?
基于分词技术构建倒排索引: 首先每个记录保存数据时,都不会直接存入数据库。系统先会对数据进行分词,然后以倒排索引结构保存。如下:然后等到用户搜索的时候,会把搜索的关键词也进行分词,会把“红海行动”分词分成:红海和行动两个词。
这样的话,先用红海进行匹配,得到id=1和id=2的记录编号,再用行动匹配可以迅速定位id为1,3的记录。 那么全文索引通常,还会根据匹配程度进行打分,显然1号记录能匹配的次数更多。所以显示的时候以评分进行排序的话,1号记录会排到最前面。而2、3号记录也可以匹配到。转载地址:https://blog.csdn.net/qq_45442483/article/details/110477081 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
逛到本站,mark一下
[***.202.152.39]2024年09月22日 20时15分47秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Navicat远程连接云主机数据库
2019-05-27
Nginx配置文件nginx.conf中文详解(总结)
2019-05-27
MySQL innert join、left join、right join等理解
2019-05-27
vivado模块封装ip/edf
2019-05-27
sdc时序约束
2019-05-27
Xilinx Jtag Access/svf文件/BSCANE2
2019-05-27
NoC片上网络
2019-05-27
开源SoC整理
2019-05-27
【2020-3-21】Mac安装Homebrew慢,解决办法
2019-05-27
已知子网掩码,确定ip地址范围
2019-05-27
判断时间或者数字是否连续
2019-05-27
docker-daemon.json各配置详解
2019-05-27
Docker(一)使用阿里云容器镜像服务
2019-05-27
Docker(二) 基础命令
2019-05-27
Docker(三) 构建镜像
2019-05-27
Spring 全家桶注解一览
2019-05-27
JDK1.8-Stream API使用
2019-05-27