一 : 搜索引擎选择: Elasticsearch与Solr
搜索引擎选择: Elasticsearch与Solr
搜索引擎选型调研文档
Elasticsearch简介*
Elasticsearch是一个实时的分布式搜索和分析引擎。[www.61k.com)它可以帮助你用前所未有的速度去处理大规模数据。
它可以用于全文搜索,结构化搜索以及分析,当然你也可以将这三者进行组合。
Elasticsearch是一个建立在全文搜索引擎 Apache Lucene™ 基础上的搜索引擎,可以说Lucene是当今最先进,最高效的全功能开源搜索引擎框架。
但是Lucene只是一个框架,要充分利用它的功能,需要使用JAVA,并且在程序中集成Lucene。需要很多的学习了解,才能明白它是如何运行的,Lucene确实非常复杂。
Elasticsearch使用Lucene作为内部引擎,但是在使用它做全文搜索时,只需要使用统一开发好的API即可,而不需要了解其背后复杂的Lucene的运行原理。
当然Elasticsearch并不仅仅是Lucene这么简单,它不但包括了全文搜索功能,还可以进行以下工作:
分布式实时文件存储,并将每一个字段都编入索引,使其可以被搜索。
实时分析的分布式搜索引擎。
可以扩展到上百台服务器,处理PB级别的结构化或非结构化数据。
这么多的功能被集成到一台服务器上,你可以轻松地通过客户端或者任何你喜欢的程序语言与ES的RESTful API进行交流。
Elasticsearch的上手是非常简单的。它附带了很多非常合理的默认值,这让初学者很好地避免一上手就要面对复杂的理论,
它安装好了就可以使用了,用很小的学习成本就可以变得很有生产力。
随着越学越深入,还可以利用Elasticsearch更多高级的功能,整个引擎可以很灵活地进行配置。可以根据自身需求来定制属于自己的Elasticsearch。
使用案例:
维基百科使用Elasticsearch来进行全文搜做并高亮显示关键词,以及提供search-as-you-type、did-you-mean等搜索建议功能。
英国卫报使用Elasticsearch来处理访客日志,以便能将公众对不同文章的反应实时地反馈给各位编辑。
StackOverflow将全文搜索与地理位置和相关信息进行结合,以提供more-like-this相关问题的展现。
GitHub使用Elasticsearch来检索超过1300亿行代码。
每天,Goldman Sachs使用它来处理5TB数据的索引,还有很多投行使用它来分析股票市场的变动。
但是Elasticsearch并不只是面向大型企业的,它还帮助了很多类似DataDog以及Klout的创业公司进行了功能的扩展。
Elasticsearch的优缺点**:
优点
缺点
Solr简介*
Solr(读作“solar”)是Apache Lucene项目的开源企业搜索平台。其主要功能包括全文检索、命中标示、分面搜索、动态聚类、数据库集成,以及富文本(如Word、PDF)的处理。Solr是高度可扩展的,并提供了分布式搜索和索引复制。Solr是最流行的企业级搜索引擎,Solr4 还增加了NoSQL支持。
Solr是用Java编写、运行在Servlet容器(如 Apache Tomcat 或Jetty)的一个独立的全文搜索服务器。 Solr采用了 Lucene Java 搜索库为核心的全文索引和搜索,并具有类似REST的HTTP/XML和JSON的API。Solr强大的外部配置功能使得无需进行Java编码,便可对 其进行调整以适应多种类型的应用程序。Solr有一个插件架构,以支持更多的高级定制。
因为2010年 Apache Lucene 和 Apache Solr 项目合并,两个项目是由同一个Apache软件基金会开发团队制作实现的。提到技术或产品时,Lucene/Solr或Solr/Lucene是一样的。
Solr的优缺点
优点
缺点
Elasticsearch与Solr的比较*
当单纯的对已有数据进行搜索时,Solr更快。
当实时建立索引时, Solr会产生io阻塞,查询性能较差, Elasticsearch具有明显的优势。
随着数据量的增加,Solr的搜索效率会变得更低,而Elasticsearch却没有明显的变化。
综上所述,Solr的架构不适合实时搜索的应用。
实际生产环境测试*
下图为将搜索引擎从Solr转到Elasticsearch以后的平均查询速度有了50倍的提升。
Elasticsearch 与 Solr 的比较总结
Solr 是传统搜索应用的有力解决方案,但 Elasticsearch 更适用于新兴的实时搜索应用。
其他基于Lucene的开源搜索引擎解决方案*
说明:Lucene 是一个 JAVA 搜索类库,它本身并不是一个完整的解决方案,需要额外的开发工作。
优点:成熟的解决方案,有很多的成功案例。apache 顶级项目,正在持续快速的进步。庞大而活跃的开发社区,大量的开发人员。它只是一个类库,有足够的定制和优化空间:经过简单定制,就可以满足绝大部分常见的需求;经过优化,可以支持 10亿+ 量级的搜索。
缺点:需要额外的开发工作。所有的扩展,分布式,可靠性等都需要自己实现;非实时,从建索引到可以搜索中间有一个时间延迟,而当前的“近实时”(Lucene Near Real Time search)搜索方案的可扩展性有待进一步完善
说明:基于 Lucene 的,支持分布式,可扩展,具有容错功能,准实时的搜索方案。
优点:开箱即用,可以与 Hadoop 配合实现分布式。具备扩展和容错机制。
缺点:只是搜索方案,建索引部分还是需要自己实现。在搜索功能上,只实现了最基本的需求。成功案例较少,项目的成熟度稍微差一些。因为需要支持分布式,对于一些复杂的查询需求,定制的难度会比较大。
说明:Map/Reduce 模式的,分布式建索引方案,可以跟 Katta 配合使用。
优点:分布式建索引,具备可扩展性。
缺点:只是建索引方案,不包括搜索实现。工作在批处理模式,对实时搜索的支持不佳。
说明:基于 Lucene 的一系列解决方案,包括 准实时搜索 zoie ,facet 搜索实现 bobo ,机器学习算法 decomposer ,摘要存储库 krati ,数据库模式包装 sensei 等等
优点:经过验证的解决方案,支持分布式,可扩展,丰富的功能实现
缺点:与 linkedin 公司的联系太紧密,可定制性比较差
说明:基于 Lucene,索引存在 cassandra 数据库中
优点:参考 cassandra 的优点
缺点:参考 cassandra 的缺点。另外,这只是一个 demo,没有经过大量验证
说明:基于 Lucene,索引存在 HBase 数据库中
优点:参考 HBase 的优点
缺点:参考 HBase 的缺点。另外,在实现中,lucene terms 是存成行,但每个 term 对应的 posting lists 是以列的方式存储的。随着单个 term 的 posting lists 的增大,查询时的速度受到的影响会非常大
转载:http://blog.csdn.net/jameshadoop/article/details/44905643
二 : 植入式广告与搜索引擎广告的对比
首先我们要明确一个概念,那就是植入式广告究竟是那种模式,其实,植入式广告,有时也称作为植入式营销,业界通常有一种误解,认为一定是要将产品或服务的广告信息植入到一定的影视动画场景或者故事情节中,才可以称得上是植入式广告。其实远远不是这样,以文字植入方式渗透到各个网站的互联网广告,才是真正最大规模的植入式广告。而搜索引擎广告无疑就是借助搜索引擎的强大流量而滋生出来的一种广告模式,目前主要以竞价排名和关键词搜索为主基调。那么,植入式互联网广告和搜索引擎广告相比各有什么优劣呢?
首先,植入式广告的一个核心理念是广告信息与所处场景的内在逻辑性,这种逻辑性并不是一种简单的相关性。比如,可能在一款足球比赛的游戏中植入了可口可乐的相关广告信息,足球比赛和可口可乐没有太大的相关性,但两者却存在内在的逻辑,和可口可乐一贯使用的体育营销传播信息高度契合。这就是一种默契,也是被人们接受的一种内在联系,不是简单的一个超级链接就可以达到这种效果。
而搜索引擎广告是指利用搜索引擎、分类目录等具有在线检索信息功能的网络工具进行网站推广的方法。由于搜索引擎的基本形式可以分为网络蜘蛛型搜索引擎(简称搜索引擎)和基于人工分类目录的搜索引擎(简称分类目录),因此搜索引擎推广的形式也相应地有基于搜索引擎的方法和基于分类目录的方法,前者包括搜索引擎优化、关键词广告、竞价排名、固定排名、基于内容定位的广告等多种形式,而后者则主要是在分类目录合适的类别中进行网站登录。随着搜索引擎形式的进一步发展变化,也出现了其他一些形式的搜索引擎,不过大都是以这两种形式为基础。搜索引擎推广的方法表现形式比较单一,就是通过关键词汇搜索来吸引点击量,在这一点上,新兴的植入式互联网广告有很多优势。
其次,植入式广告实现了智能表现,广告接触完全由受众主动式触发,当受众对文章内的关键词感兴趣时,只要将鼠标移到关键词上,关键词附近就会出现与其相关的文字、图片、轮播、flash、视频等形式丰富且表现力强的悬浮广告。受众可以阅读广告内容,还可以点击该广告进入包含广告内容的链接网站。人性化设计更方便,受众更直接,更有价值。而搜索引擎网站,主要是将其他网站的超链抓至自己名下,用关键词作为主线,通过竞价排名的方式,实现了流量至广告收入的转换。搜索引擎虽然通过竞价排名突出了某些关键词,但这仅仅是类似目录阅读的范畴,广告的价值体现不如植入式广告来的直接和便捷。
第三,植入式广告可以实时跟踪网民行为,精准记录每一个关键词的展示数、点击数及露出时间,为用户提供精细、可靠的数据,用户可根据展示、点击数等按实效付费,最大程度节约了广告成本。植入式广告不需要专门在网页中开辟一个方块发布广告,广告只是正文的一部分。传统的条幅广告、匹配广告等等的模式在你的网站还可以继续运作,新的模式只是网站广告模式的一种扩充。而搜索引擎广告只有通过搜索才能看到,且只能看到当前关键字的搜索结果,而植入式广告只要上网浏览信息时就有机会看到,同一网页中呈现多个关键字,广告出现机会多。而且文中广告显示在网页正文内,受众关注度高。
最后,搜索广告本身发展的诸多不稳定因素,给整个搜索引擎广告行业和广告主的决定带来了相当的冲击。首当其冲的是困扰企业网站的恶意点击,不管是竞争者消耗对手的广告成本的点击行为、搜索引擎广告联盟网站为了获取自己相应的广告佣金的点击行为、竞价排名代理服务商为了自身代理佣金的点击行为,还是访客无意间的误点击行为,都实实在在地增加了广告主的广告成本开支。而以点睛(clickeye)文中广告这种植入式广告为例,它可以按单击计费、千人成本计费、来电效果付费、包词付费等模式付费,在所规定的价格基础之上,可以由用户自由定制。此外,用户还可以设定每天在点睛(clickeye)广告的最高消费额,以此控制某一时间段内点睛(clickeye)广告投放的平均日消费额和总消费额。同时也通过各种手段,竭尽全力防止恶意点击。
三 : 做站感悟之略谈三大搜索引擎的对比
做站有一段时间了,在这段时间里,对搜索引擎有了新的认识--首先立场不同了,自然认识也不同了。以前是作为搜索引擎的使用者,只是关心搜索引擎能不能正确的找到我需要的资料。现在立场不同了,成了搜索引擎的上游内容提供者,可以近距离观察搜索引擎的工作情况,对搜索引擎有了深入的认识。特别是本站下定决心更换新域名(从www.myhosts.cn换www.playhosts.com)前后,对搜索引擎的工作特别关心,每天都注意观察三大搜索引擎的收录页面数,有了一些体会,下面给大家随便谈一下,不当之处,请高手指正:61阅读| 精彩专题| 最新文章| 热门文章| 苏ICP备13036349号-1