[IR课程笔记]Web search
一. 搜索引擎
组成部分:
1. 网络爬虫(web crawler) 2. 索引系统(indexing system) 3. 搜索系统 (searching system)
consideration:
1.Economics 2.Scalability 3. Legal issue
二. 网络爬虫(web crawler)
web crawler 需要考虑两个问题:
politeness (遵守robots协议以及不要频繁访问同一个主机)
performance (多线程)
工作过程: 首先我们给爬虫一个初始的种子url集,然后爬虫下载这些url指向的页面,把内容提取出来交给索引系统,把页面中包含的url提取出来加入url池。
一个简易的爬虫算法
UrlsTodo = {‘‘yahoo.com/index.html’’}
Repeat:
url = UrlsTodo.getNext()
html = Download( url )
UrlsDone.insert( url )
newUrls = parseForLinks( html )
For each newUrl not in UrlsDone:
UrlsTodo.insert( newUrl )
front queue 和 back queue 的工作过程:
前向队列: 爬虫从html文件中抽取出url, 如果这个url没有被访问过的话,那么就将它加入队列。将前向队列分成优先级1-N的不同的队列,当有一个url进入时,根据不同的策略,给这个url分配不同的优先级,并加入到对应的队列中。通常,我们将容易变化的网页赋予更高的优先级,如新闻。
后向队列:后向队列的分队方式,同一个主机为一个队列。每一个对列需要存储主机名和上次访问这个主机的时间。当爬虫要爬取一个网页时,从后向队列中以一定的策略抽取url,若访问这个url所在的主机的时间间隔小于最小时间间隔,那么,就暂时不爬取这个网页。
当后向队列有队列为空时,从前向队列中抽取一个url(按照优先级的策略),若这个url所在的主机没有在当前后向队列中,那么就把这个url加入到空的队列中。若这个url的主机已经存在在后向队列中,那么将这个url加入到那个主机的队列。再从前向队列中抽取一个url...
[IR课程笔记]Web search的更多相关文章
- [IR课程笔记]Hyperlink-Induced Topic Search(HITS)
两个假设 1. 好的hub pages: 好的对某个主题的hub pages 链接许多好的这个主题的authoritative pages. 2. 好的authoritative pages: 好的对 ...
- [IR课程笔记]向量空间模型(Vector Space Model)
VSM思想 把文档表示成R|v|上的向量,从而可以计算文档与文档之间的相似度(根据欧氏距离或者余弦夹角) 那么,如何将文档将文档表示为向量呢? 首先,需要选取基向量/dimensions,基向量须是线 ...
- [IR课程笔记]Query Refinement and Relevance Feedback
相关反馈的两种类型: “真实”的相关反馈: 1. 系统返回结果 2. 用户提供一些反馈 3. 系统根据这些反馈,返回一些不同的,更好的结果 “假定”的相关反馈 1. 系统得到结果但是并不返回结果 2. ...
- [IR课程笔记]Page Rank
主要目的: 在网络信息检索中,对每个文档的重要性作出评价. Basic Idea: 如果有许多网页链接到某一个网页,那么这个网页比较重要. 如果某个网页被一个权重较大的网页链接,那么这个网页比较重要. ...
- [IR课程笔记]概率检索模型
几个符号意义: R:相关文档集 NR:不相关文档集 q:用户查询 dj:文档j 1/0风险情况 PRP(probability ranking principle):概率排序原理,利用概率模型来估计每 ...
- [IR课程笔记]统计语言模型
Basic idea 1.一个文档(document)只有一个主题(topic) 2.主题指的是这个主题下文档中词语是如何出现的 3.在某一主题下文档中经常出现的词语,这个词语在这个主题中也是经常出现 ...
- vue—你必须知道的 js数据类型 前端学习 CSS 居中 事件委托和this 让js调试更简单—console AMD && CMD 模式识别课程笔记(一) web攻击 web安全之XSS JSONP && CORS css 定位 react小结
vue—你必须知道的 目录 更多总结 猛戳这里 属性与方法 语法 计算属性 特殊属性 vue 样式绑定 vue事件处理器 表单控件绑定 父子组件通信 过渡效果 vue经验总结 javascript ...
- Andrew 机器学习课程笔记
Andrew 机器学习课程笔记 完成 Andrew 的课程结束至今已有一段时间,课程介绍深入浅出,很好的解释了模型的基本原理以及应用.在我看来这是个很好的入门视频,他老人家现在又出了一门 deep l ...
- 操作系统学习笔记----进程/线程模型----Coursera课程笔记
操作系统学习笔记----进程/线程模型----Coursera课程笔记 进程/线程模型 0. 概述 0.1 进程模型 多道程序设计 进程的概念.进程控制块 进程状态及转换.进程队列 进程控制----进 ...
随机推荐
- How To Install Oracle Forms 12c On Windows 7
Below is the step by step guide to install Oracle Forms 12c on Windows 7. To install Oracle Forms 12 ...
- dede实战系统:更换成kindEditor编辑器
最近由于项目需要,在搞dedeCMS,发现dede自带的ckEditor在word粘贴这方面做得不是很好,从word上面直接ctrl+V的内容跟wrod上面的表现样式相差很大,客户很不爽(因为是编辑的 ...
- C++输入和输出中进制问题
默认下都是十进制 int i, j, k, l; cin>>oct>>i; //输入为八进制数 cin>>hex>>j; //输入为十六进制数 cin& ...
- Linux内核裁剪的具体步骤
在menuconfig中配置: 详细介绍内核配置选项及删改情况 第一部分:全部删除 Code maturity level options ---> 代码成熟等级选项 []Prompt for ...
- JSBridge深度剖析
概述 做过混合开发的人都知道Ionic和PhoneGap之类的框架,这些框架在web基础上包装一层Native.然后通过Bridge技术的js调用本地的库. 在讲JSBridge技术之前.我们来看一下 ...
- Android Design Support Library(2)- TextInputLayout的使用
原创文章,转载请注明 http://blog.csdn.net/leejizhou/article/details/50494634 这篇文章介绍下Android Design Support Lib ...
- Linux安装indicator-china-weather
https://launchpad.net/indicator-china-weather sudo apt-get update sudo apt-get install python-appind ...
- ios 推送证书没有密钥 解决方案【转载】
注意事项: 1.keychains选择Login 2.2.在创建完CertificateSigningRequest.certSigningRequest可以看到Keys中该有你的私有秘钥 3.按文档 ...
- IIS 配置错误:不能在此路径中使用此配置节。如果在父级别上锁定了该节,便会出现这种情况。 HTTP 错误 500.19
因为 IIS 7 采用了更安全的 web.config 管理机制,默认情况下会锁住配置项不允许更改.运行命令行 %windir%\system32\inetsrv\appcmd unlock conf ...
- 【WPF学习笔记】之如何点击“新建”按钮,在面板中加载一条条的“用户控件”的信息:动画系列之(四)
...... 承接上一系列动画三. 在主界面后台代码设置嵌套第二个用户控件. using System; using System.Collections.Generic; using System. ...