`
ansjsun
  • 浏览: 203060 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

<<这就是搜索引擎>>学习笔记-算法之索引压缩

 
阅读更多
前一段时间.在微博上中奖了.
一个叫张俊林的帅锅.送了俺一本书.由于工作(其实是懒惰),一直木有好好看..书到手一个月了才看了80多页.
现在终于要过年了.开始看了..顺路给自己做个笔记.在这里我郑重推荐此书

<<这就是搜索引擎:核心技术详解>>

定  价:¥45.00

作  者:张俊林 著

出 版 社:电子工业出版社

出版时间:2012-1-1

http://product.dangdang.com/product.aspx?product_id=22574992


好了广告 做完了..我先介绍一些索引压缩算法..

一.为什么压缩索引
海量的网页保存.需要消耗大量的磁盘空间.同事在索引读取的时候增加的磁盘的io.影响了性能所以压缩.


二.压缩的标准指标
1.压缩率  2.压缩速度 3.解压速度


三现在下面介绍第一种压缩算法.

EliasGamma算法

EG压缩算法利用分解函数将待压缩的数字分解为两个因子.之后分别用医院编码和二进制编码来表达这两个因子.

Elias Gamma 分解式如下  X = 2e + d (是2的e次方 .但是打不出来)

这里x为待解压的数字.e和d分别为其因子.对于因子 e+1采用一元编码表示.对于d用宽度为e的二进制编码来表示

分享到:
评论
11 楼 ansjsun 2012-04-06  
lsycxyj 写道
ansjsun 写道
EliasGamma
ansjsun 写道
s delta的算法运算后,明明是一个数字9却变成占用了8位(连同分割位的话甚至更多)的数,为什么还称为“压缩”呢?希望能解答一下。谢谢!
lsycxyj 写道
博主你好!我看了一下,利用elias delta的算法运算后,明明是一个数字9却变成占用了8位(连同分割位的话甚至更多)的数,为什么还称为“压缩”呢?希望能解答一下。谢谢!

lsycxyj 写道
博主你好!我看了一下,利用elias delta的算法运算后,明明是一个数字9却变成占用了8位(连同分割位的话甚至更多)的数,为什么还称为“压缩”呢?希望能解答一下。谢谢!


我理解的是比如e 那么就是2的e次方  如果是9  e=3 那么3个bit可以表示..内存中是001




写错了 9应该是0001001


两倍的e为字节的宽度.d为后续的字

解码就是2前面3个0代表3次方 , 后面为001 则为1  即是9


9的Gamma是1110:001,Delta是110:00:001,如果把分隔符“:”也算一位的话,明显占用空间比9要大,为什么还能称为“压缩”?还是大位宽的情况下才算是“压缩”?



9是一个int..int是32位...小于32就算压缩吧..
10 楼 lsycxyj 2012-04-05  
ansjsun 写道
EliasGamma
ansjsun 写道
s delta的算法运算后,明明是一个数字9却变成占用了8位(连同分割位的话甚至更多)的数,为什么还称为“压缩”呢?希望能解答一下。谢谢!
lsycxyj 写道
博主你好!我看了一下,利用elias delta的算法运算后,明明是一个数字9却变成占用了8位(连同分割位的话甚至更多)的数,为什么还称为“压缩”呢?希望能解答一下。谢谢!

lsycxyj 写道
博主你好!我看了一下,利用elias delta的算法运算后,明明是一个数字9却变成占用了8位(连同分割位的话甚至更多)的数,为什么还称为“压缩”呢?希望能解答一下。谢谢!


我理解的是比如e 那么就是2的e次方  如果是9  e=3 那么3个bit可以表示..内存中是001




写错了 9应该是0001001


两倍的e为字节的宽度.d为后续的字

解码就是2前面3个0代表3次方 , 后面为001 则为1  即是9


9的Gamma是1110:001,Delta是110:00:001,如果把分隔符“:”也算一位的话,明显占用空间比9要大,为什么还能称为“压缩”?还是大位宽的情况下才算是“压缩”?
9 楼 ansjsun 2012-04-05  
EliasGamma
ansjsun 写道
s delta的算法运算后,明明是一个数字9却变成占用了8位(连同分割位的话甚至更多)的数,为什么还称为“压缩”呢?希望能解答一下。谢谢!
lsycxyj 写道
博主你好!我看了一下,利用elias delta的算法运算后,明明是一个数字9却变成占用了8位(连同分割位的话甚至更多)的数,为什么还称为“压缩”呢?希望能解答一下。谢谢!

lsycxyj 写道
博主你好!我看了一下,利用elias delta的算法运算后,明明是一个数字9却变成占用了8位(连同分割位的话甚至更多)的数,为什么还称为“压缩”呢?希望能解答一下。谢谢!


我理解的是比如e 那么就是2的e次方  如果是9  e=3 那么3个bit可以表示..内存中是001




写错了 9应该是0001001


两倍的e为字节的宽度.d为后续的字

解码就是2前面3个0代表3次方 , 后面为001 则为1  即是9
8 楼 ansjsun 2012-04-05  
s delta的算法运算后,明明是一个数字9却变成占用了8位(连同分割位的话甚至更多)的数,为什么还称为“压缩”呢?希望能解答一下。谢谢!
lsycxyj 写道
博主你好!我看了一下,利用elias delta的算法运算后,明明是一个数字9却变成占用了8位(连同分割位的话甚至更多)的数,为什么还称为“压缩”呢?希望能解答一下。谢谢!

lsycxyj 写道
博主你好!我看了一下,利用elias delta的算法运算后,明明是一个数字9却变成占用了8位(连同分割位的话甚至更多)的数,为什么还称为“压缩”呢?希望能解答一下。谢谢!


我理解的是比如e 那么就是2的e次方  如果是9  e=3 那么3个bit可以表示..内存中是001
7 楼 lsycxyj 2012-04-05  
博主你好!我看了一下,利用elias delta的算法运算后,明明是一个数字9却变成占用了8位(连同分割位的话甚至更多)的数,为什么还称为“压缩”呢?希望能解答一下。谢谢!
6 楼 ansjsun 2012-02-08  
解比较浅显..就
cjf068 写道
我觉得垂直搜索关键就是专业,提取的信息专注于某一类业务,只是针对某个特定领域的专门搜索

受教了..专门的字典..术语库...专门的检索...我也感兴趣..正在试着写个索引程序等我写完了试试哈
5 楼 cjf068 2012-02-08  
我觉得垂直搜索关键就是专业,提取的信息专注于某一类业务,只是针对某个特定领域的专门搜索
4 楼 ansjsun 2012-02-08  
cjf068 写道

强烈吐血推荐这本书..真的真的狠好..入门..晋级都不是问题..如果你已经是高手了..那呵呵...就算了
ansjsun 写道
cjf068 写道
哈哈,运气这么嗨呢,我还打算买一本搜索方面的书

强烈吐血推荐这本书..真的真的狠好..入门..晋级都不是问题..如果你已经是高手了..那呵呵...就算了

哈哈 ,看来我得去入手一本,近期准备入门一下垂直搜索

这本书也有将爬虫..但是比较深入...用到pagereng 等...


对了你感觉垂直搜索..和普通搜索有啥区别啊..我的理解比较浅显..就是别采集到站外就可以了...说白了就是采集指定的网址..还有一点就是..支持定制抽取吧
3 楼 cjf068 2012-02-08  

强烈吐血推荐这本书..真的真的狠好..入门..晋级都不是问题..如果你已经是高手了..那呵呵...就算了
ansjsun 写道
cjf068 写道
哈哈,运气这么嗨呢,我还打算买一本搜索方面的书

强烈吐血推荐这本书..真的真的狠好..入门..晋级都不是问题..如果你已经是高手了..那呵呵...就算了

哈哈 ,看来我得去入手一本,近期准备入门一下垂直搜索
2 楼 ansjsun 2012-02-08  
cjf068 写道
哈哈,运气这么嗨呢,我还打算买一本搜索方面的书

强烈吐血推荐这本书..真的真的狠好..入门..晋级都不是问题..如果你已经是高手了..那呵呵...就算了
1 楼 cjf068 2012-02-08  
哈哈,运气这么嗨呢,我还打算买一本搜索方面的书

相关推荐

    这就是搜索引擎核心技术详解@学习笔记

    以上知识点涉及的书籍《这就是搜索引擎核心技术详解》详细介绍了搜索引擎的核心技术原理,而本文档则是在书籍的基础上进行了进一步的归纳和总结。对于想要深入学习搜索引擎技术的读者来说,阅读这本书籍将会是了解这...

    elasticsearch学习笔记

    Elasticsearch学习笔记 Elasticsearch(以下简称ES)是当前最流行的搜索引擎之一,本文旨在通过对ES的基本操作和查询语法的介绍,帮助读者快速入门和精通ES。 批量操作 ES提供了多种批量操作方式,包括通过GET _...

    《Google排名技巧》共十五课学习笔记.rar

    在互联网世界中,搜索引擎优化(SEO)是提升网站可见性和流量的关键策略之一,尤其是Google作为全球最常用的搜索引擎,其排名技巧对于网站运营至关重要。《Google排名技巧》的学习笔记涵盖了十五个核心课程,旨在...

    算法导论麻省理工

    在实际工作中,无论是搜索引擎的排名算法、推荐系统的个性化推荐,还是大数据处理中的并行计算,都离不开算法的支持。 总的来说,这个压缩包提供了一套全面的学习资源,无论是初学者还是进阶者,都可以从中受益匪浅...

    近期SEO笔记整理

    SEO,即搜索引擎优化,是网络营销中的关键组成部分,旨在提高网站在搜索引擎自然搜索结果中的排名,从而增加流量。以下是我从“近期SEO笔记整理”中提取的一些核心知识点: 1. **关键词研究**:SEO始于深入的关键词...

    《SEO每日一贴笔记》完整版

    《SEO每日一贴笔记》是SEO领域的经典学习资料,它以日积月累的方式系统地讲解了搜索引擎优化的各种技巧和策略。这份笔记的完整版包含了从基础到高级的全面内容,帮助读者深入理解如何提高网站在搜索引擎中的排名,...

    斯坦福ML公开课笔记(中文版12-15)

    LSI可以帮助消除词汇歧义,提高信息检索的精度,是搜索引擎优化的重要方法。 最后,独立成分分析(ICA)是一种盲源分离技术,旨在从混合信号中恢复原始的独立信号源。ICA假设信号源是相互独立的,且非高斯分布,...

    Lucene.zip

    总结,Lucene作为强大的全文检索工具,不仅提供了丰富的API供开发者使用,还有众多的扩展功能如分面搜索、近实时搜索等,使得其在大数据时代的搜索引擎开发中占据重要地位。通过“Lucene.zip”的学习,读者可以全面...

    [搜索链接]java(结合lucene)版的公交搜索系统_javaso.zip

    【标题】"java(结合lucene)版的公交搜索系统_javaso.zip"是一个基于Java编程语言,并结合了Apache Lucene搜索引擎库的公交查询系统。这个项目旨在提供一个高效的公交线路搜索功能,使得用户能够方便地查找公交路线,...

    玩转二叉树基本概念与操作.zip

    2. 数据索引:数据库和搜索引擎使用B树或B+树作为索引结构。 3. 编译器:编译器的语法分析部分,如解析树,就是基于二叉树结构。 4. 图像处理:图像的分块和编码可以利用二叉树结构进行优化。 5. 计算机网络:路由表...

    网址管理工具的源程序

    7. 搜索引擎:强大的搜索功能可以帮助用户快速找到所需的网址,这可能涉及到全文搜索或基于关键词的索引技术。 【标签】:“网络通信类” 这个标签表明这个源程序涉及到网络通信技术,意味着它可能会包含HTTP协议...

    cs2020:我所有的 CS2020 工作

    6. **项目**:大型编程任务,可能涉及实际问题的解决,例如构建一个搜索引擎的索引系统或设计一个游戏的AI。 通过研究这个“cs2020-master”压缩包,学习者不仅可以掌握数据结构和算法的基本知识,还能了解到如何将...

Global site tag (gtag.js) - Google Analytics