1.目标:

实现一个简易的搜索引擎,能对热门词汇进行提示,能对热门话题进行排序,点击后能进入对应网页。

2.实现用处:

        了解我们常用的工具工作,搜索对于一个服务端开发来说是个不错的尝试

3.正文:

一个搜索引擎需要什么?首先需要查询结果的有效性,丰富性,再者对搜索的时效性也要有要求,现代搜索引擎的查询时间单位都是微妙数量级别,其实最致命的是查询时间,为了满足苛刻的业务需求,这快得采用缓存,而且得预先加载好结果,但是这会导致一个问题,数据实时性会打折扣。

那么一个搜索引擎的工作大概是一个什么流程呢,大致如下图:

1)数据抓取:用蜘蛛爬虫在互联网页面抓取,然后进行存储。

2)页面分析(预处理):对抓取过来的网页星系处理,包括提取页面的正文信息,对正文进行分词,为后续建立关键字索引及关键字倒排索引提供基础数据。

3)页面排序:结合内外部因素,计算出页面与关键词的相关程度,从而得到该关键字相关页面的排序列表。

4)关键字查询:搜索引擎接受来自用户的查询请求,对查询信息进行切词和匹配,在想用户返回相应的页面排序列表。

书籍:《SEO实战密码》

如何实现一个搜索引擎(一):初次探究相关推荐

  1. 用Golang写一个搜索引擎(0x05)--- 文本相关性排序

    上面我们已经说过了一些倒排索引的东西,并且也知道了如何来实现一个倒排索引完成检索功能,那么检索完了以后如何排序呢,这一篇简单的说一下倒排索引的文本相关性排序,因为排序实在是太复杂了,我们这里就说说文本 ...

  2. 用python写搜索引擎_用python做一个搜索引擎(Pylucene)的实例代码

    1.什么是搜索引擎? 搜索引擎是"对网络信息资源进行搜集整理并提供信息查询服务的系统,包括信息搜集.信息整理和用户查询三部分".如图1是搜索引擎的一般结构,信息搜集模块从网络采集信 ...

  3. 一种新的计算机视觉技术?将手机的摄像头变成了一个搜索引擎

    https://www.toutiao.com/a6698870195391300099/ 智能手机,安全摄像头和扬声器仅仅是行将运行更加人工智能软件以加快图像和语音处置使命的装备中的一小部分.增添硬 ...

  4. 在哪里能收到python实例代码-用python做一个搜索引擎(Pylucene)的实例代码

    1.什么是搜索引擎? 搜索引擎是"对网络信息资源进行搜集整理并提供信息查询服务的系统,包括信息搜集.信息整理和用户查询三部分".如图1是搜索引擎的一般结构,信息搜集模块从网络采集信 ...

  5. 如何自己动手写一个搜索引擎?我是一份害羞的教程

    你或许无法再造一个百度或谷歌,但显而易见,即便是百度或谷歌,也有鞭长莫及的地方.垂直细分领域的精准搜索从来都是巨头们的软肋.也是很多技术开发者实现财务自由的良好开端. 今天给大家推荐的这个教程,将帮助 ...

  6. 讯搜 配置mysql_迅搜,十分钟搭建一个搜索引擎

    假设有一堆词,也有一堆内容.现在想知道: 每个词的相关词有哪些? 每个词的相关内容有哪些? 每个内容的相关内容有哪些? 利用上述词与词.词与内容.内容与内容的关联,来优化页面的推荐信息,使用户和搜索引 ...

  7. php添加本地搜索,十分钟,在本地搭建一个搜索引擎

    假设有一堆词,也有一堆内容.现在想知道: 每个词的相关词有哪些? 每个词的相关内容有哪些? 每个内容的相关内容有哪些? 利用上述词与词.词与内容.内容与内容的关联,来优化页面的推荐信息,使用户和搜索引 ...

  8. 如何做一个搜索引擎友好的站点?

    在很长一段时间,SEO人员非常热衷讨论的就是建立一个被搜索引擎亲睐的网站,但可能有的时候可能并没有真切的考虑过,什么是才是真正的搜索引擎友好的站点. 简单理解:搜索引擎友好的网站,它需要满足搜索引擎的 ...

  9. 由UE4一个离奇的崩溃探究 UObjects GC的实现方式

    由UE4一个离奇的崩溃探究 UObjects GC的实现方式 http://aicdg.com/ue4-obj-gc/ 最近调试UE4在移动设备(准确说只有iOS设备)上反复打开UI面板导致崩溃的问题 ...

  10. 今日头条PC端改版上线搜索功能,更像一个搜索引擎平台了!(头条搜索seo)

    今日头条移动搜索早就上线了,用户体验和界面还不错.不过PC端一直没有对外开放,只能搜索站内的内容.作者首发公众号宋九九发现pc端可以使用移动搜索功能,但是搜索界面页面是移动端的,在pc端不友好. 今日 ...

最新文章

  1. 合工大的计算机专业好不好,合肥工业大学计算机好,还是西电的好?差距有多大?...
  2. 5、C语言面试笔试--数据组织--数组
  3. win7设置自动开机时间_电脑可以设置自动开机时间,您知道吗?
  4. onenote复制出来是图片_你真的了解 OneNote 吗?
  5. Jndroid——用应用开发的思路来开发 Web
  6. hdu 4588 Count The Carries 南京邀请赛
  7. idle不是python自带的开发工具_Python的开发工具
  8. python七段数码管绘制秒表_Python绘制七段数码管实例代码
  9. android 图标 textview,Android TextView添加图标ImageView
  10. VoIP:难以抵挡的灰色诱惑
  11. PAT 乙级 1045 快速排序
  12. const定义常量_JS声明变量var、let 、const(含重点示例)
  13. 系统分析师-论文(论系统分析中对用户需求的把握、论信息系统开发方法及其应用)
  14. 如何使用ARCHART XGantt表示无工作日的日历
  15. [html5网页设计]英雄联盟lpl总决赛游戏网页设计大作业,hbuilder网页设计成品,dw网页设计成品模板,游戏网页设计带图片轮播,音乐,视频,注册登录表单。
  16. 苹果修改wifi密码登陆服务器密码,iphone手机修改wifi密码
  17. Elasticsearch优化的一些建议
  18. 面经(5) 2020/4/5 Java研发实习生 蚂蚁金服
  19. 关于(archive)归档和(unarchive)解档的处理。
  20. DRAG DROP

热门文章

  1. 图解路由器:这玩意儿能连接全世界的网络?
  2. 13个Python必备的知识,建议收藏
  3. 习题8-5 折纸痕(Paper Folding, UVa177)
  4. 开始学习 HarmonyOS 嵌入式开发
  5. 业余无线电新手入门基础知识(全网最全)
  6. 中职计算机应用基础表格制作说课稿,表格制作说课稿.doc
  7. 【Java编程】写一个将华氏温度转换成摄氏温度的程序,转换的公式是:°F = (9/5)*°C + 32 其中C表示摄氏温度,F表示华氏温度。
  8. 涉密计算机终端安全防护,终端安全登录与文件保护系统保密认证设备
  9. 【毕业设计/课程设计】基于Flutter的聊天社交应用
  10. Go工程管理和业务实践