谈到搜索技术,经常有人会问道:
百度和 Google 的搜索技术是一个量级吗?
为什么那么多人诟病百度技术破绽,欣赏谷歌的靠谱有效。这其中不乏些许偏见,但事实往往胜于雄辩,希望今天这个话题,能够让大家对“搜索技术”有更清醒的认识和了解。
提到搜索技术,我想大家肯定最关注以下几个问题:(以下是我截取几个知乎热点问题)

今天我们要讨论的问题,与以上几个热点问题大同小异,但更偏向于搜索本身。
讨论问题:
1.从技术层面来讲:搜索引擎需要对抓取到的结果进行管理。当索引结果越来越多时,如何保证存储和查询速度,保证数万台服务器内容一致性?
2.仅从搜索结果质量的角度对比,是否能够判断一个搜索技术的先进性?(举例说明)如果无法判断,还需要考虑哪些方面。
3.从产品角度入手,如何提高贵网站流量、排名?主要有哪些技术手段完成。
精彩回答:
Heguangwu :
1.从技术层面来讲:搜索引擎需要对抓取到的结果进行管理。当索引结果越来越多时,如何保证存储和查询速度,保证数万台服务器内容一致性?
从某个角度来说,保证万台服务器内容强一致是完全没有必要的,难道这个用户搜索某个关键词和另外以该用户搜索相同关键词结果有细微偏差会导致很大的问题吗?明显不会,从某种长度来说弱一致基本足够,另外,结果我猜也是用分布式存储来保存的,比如HBase等NoSQL,本身也是具备很高的扩展性,所以存储和查询速度问题不是特别大
2.仅从搜索结果质量的角度对比,是否能够判断一个搜索技术的先进性?(举例说明)如果无法判断,还需要考虑哪些方面。
仅从搜索结果来对比,主要是看结果是否符合用户的期望,比如你搜索一个问题看答案,结果答案并不是你想要的,或者结果没有超过你的预期,从下的baidu和google的搜索来看,乍一看好像差不多,但点进第一个链接进去看一下,你就会发现google排名第一的写的更详细也更全面,另外他们都猜出用户可能是想搜索自定义分区,这个结果都列出来了,说明差别其实很小,细节而已。

3.从产品角度入手,如何提高贵网站流量、排名?主要有哪些技术手段完成。
从技术角度来说,可以研究google和百度的排名算法,从算法的角度入手,别的方式是扩大宣传,如微博传播,微信传播,点击的人多了,自然链接你这个网站的就多了,排名就上去了
东风玖哥:
1.从技术层面来讲:搜索引擎需要对抓取到的结果进行管理。当索引结果越来越多时,如何保证存储和查询速度,保证数万台服务器内容一致性?
保证存储和查询速度:
(1)使用性能更佳的硬件
(2)优化数据库
(3)使用存储过程
(4)灵活应用程序结构和算法
保证内容一致性:
(1)只统计行数,即只验证不同服务器上的表的行数是否相同而不验证内容是否匹配,如果行数不一致,则内容一定不一致
(2)若(1)中行数一致,则使用二进制校验和算法验证内容是否一致
2.仅从搜索结果质量的角度对比,是否能够判断一个搜索技术的先进性?(举例说明)如果无法判断,还需要考虑哪些方面。
很明显能,比如用Google搜索“科学”的结果是古往今来的科学家,用百度搜索“科学”的结果却是国内的官员就“科学发展观”开会
3.从产品角度入手,如何提高贵网站流量、排名?主要有哪些技术手段完成。
内部优化
(1)建立网站地图
(2)降低网页点击深度
(3)每天保持站内内容的更新(以资讯和文章等文字类为主)
(4)404页面指向打拐或关爱留守儿童
外部优化
(1)尽量保持链接的多样性
(2)每天添加一定数量的外部链接,使关键词排名稳定提升。
(3)与一些和你网站相关性比较高,整体质量比较好的网站交换友情链接,巩固稳定关键词排名。
Fl_wolf :
1.从技术层面来讲:搜索引擎需要对抓取到的结果进行管理。当索引结果越来越多时,如何保证存储和查询速度,保证数万台服务器内容一致性?
搜索引擎来说,抓取到的数据越来越多,数据保存和查询的速度的确是一个问题,但是如果做分布式可以很好的减轻这样的压力。
比如广州地区一个分布式存储点,它和北京地区的数据内容不一定是完全一致的,因为广州和北京的用户属性不可能完全一样,大数据分析而言,精准的数据投放才是最优的;
查询速度的话,那肯定是要优化索引了,而且要建立缓存,这样才能保证较好的速度。
2.仅从搜索结果质量的角度对比,是否能够判断一个搜索技术的先进性?(举例说明)如果无法判断,还需要考虑哪些方面。
感觉没有啥先进性可言,都是用钱买上去的。
3.从产品角度入手,如何提高贵网站流量、排名?主要有哪些技术手段完成。
有些搜索引擎都是花钱可以往前排名的;
如果是按照搜索量来排名,可以直接进行刷量操作。就可以了 - -
Forgaoqiang :
1.从技术层面来讲:搜索引擎需要对抓取到的结果进行管理。当索引结果越来越多时,如何保证存储和查询速度,保证数万台服务器内容一致性?
技术上来书就那么几招,如果记录越来越多只能先做垂直分区对数据进行分割,然后再进行水平分隔。另外数据一致性大部分情况下不是那么重要,只要保证最终一致性就可以了。
毕竟根据CAP原理,在分布式系统中无法同时满足 一致性、可用性、分区容错性,只能满足两点。而且搜索引擎一部分数据的延后也是可以接受的。
一些非结构化的数据可以使用noSQL而不是关系型数据库进行存储。
2.仅从搜索结果质量的角度对比,是否能够判断一个搜索技术的先进性?(举例说明)如果无法判断,还需要考虑哪些方面。
这个应该是重点,从技术上角度上一些结果也许是对的,但是从用户角度,找到了确实自己想要的数据才是最重要的。举个栗子太容易了,比如百度:
你搜索很多国外软件,软件官网绝对能排出首页,即使这个关键词没有竞价,问题在哪里呢?
3.从产品角度入手,如何提高贵网站流量、排名?主要有哪些技术手段完成。
这个是SEO们的技术,包括在高PR的站点上挂友链接,通过关键词优化,甚至往站点打流量等手段。
所谓的合法的手段一般就是加标签,让内容更容易被spider抓取,保证关键词密度等等,主要是长时间维护。