雅虎搜索日志 雅虎搜索日志
搜索

SearchAll,我搜去!

作者:章亦春 何远银

在信息快速膨胀的今天,搜索引擎已成为我们每天用得最多的工具之一。然而,在使用搜索引擎的过程中我们会发现,自己经常使用的搜索引擎搜出来的结果并不总是让我们满意。在需要更多更全的结果的时候,我们会尝试第二个,甚至第三个。而对于搞搜索的同事们来说,可能比较各家搜索引擎的结果是日常工作中的重要组成部分,于是更需要非常快捷和便利的工具。为此,咱们中国Yahoo的EEEE hacking小组搞了一个很酷的Firefox浏览器插件,叫做SearchAll,又名“我搜去”

安装SearchAll的过程非常简单。您只需要先从这个位置下载Firefox浏览器,然后在Firefox中打开下面的页面

https://addons.mozilla.org/zh-CN/firefox/addon/5712

最后点击那个绿色的“安装”按钮就开始安装过程了。

SearchAll是一款便捷的搜索引擎并行比较工具(side-by-side)。用户在工具栏上输入查询词,SearchAll会自动到指定的多家搜索引擎的网站上去查询,并将得到的结果以多种形式呈现给用户。SearchAll还会自动为用户,在各家搜索引擎中完成点击"下一页"和"上一页"的动作。

071120searchall1.jpg

下面看看 SearchAll 能给我们的搜索带来什么样的体验吧!通过 SearchAll,你可以同时使用两到三家引擎。只需要在工具条的搜索框中输入关键词,回车,就能得到几家搜索引擎的结果。如果你对默认的三家不满意,可以在引擎列表中自由选择。目前可选的引擎有包括雅虎,谷歌,百度,淘宝,Amazon 在内的二十多个中英文网站。

事实上,SearchAll 下拉菜单的文本框是可编辑的,你完全可以在文本框中输入你所喜爱的搜索引擎地址。

071120searchall2.jpg

"我搜去"内置有通用的数据提取算法,可以从未知的搜索网站页面中提取结果列表。所以即使有一天,Yahoo.cn的结果页模板变了,SearchAll也可以自动学习新的模板。在我们team内部,习惯把这个神奇的算法叫做“海维算法”,呵呵。当然,该模式的挖掘算法在普通的机器上运行有些缓慢,而且还不能处理互联网上100%的站点。不过,我们正在对此进行不断的改进。

071120searchall3.jpg

在本文成稿时,SearchAll提供了三种展现方式,默认的方式是“规格化视图”。在此模式下,我们对搜索结果的展现做了优化,同时自动对结果页中的URL进行本地测试,标记好链、慢链和死链。

071120searchall4.jpg

SearchAll通过一组可爱的小图标来标记结果项中链接的测试状态。其中绿色的小勾表示好链,红色叉叉表示坏链,带红点的小闹钟表示超时(目前时限设为5秒钟),朵朵暗云表示结果不确定,而黄色的小亮点表示测试正在进行中。由于测试时使用的是HTTP协议中的HEAD请求,所以测试速度很快。当然,有些服务器会拒绝HEAD,所以难免会造成测试结果的某些失真。

链接本地测试功能让我们的用户对结果的优劣有一个比较直观的认识,避免了点击无效链接所带来的时间浪费和沮丧情绪。

事实上,早在"易搜时代",咱们team的 jianingy 同学就曾想为“易搜”添加这个功能,但受到臭名昭著的“AJAX 跨域”的限制,只得作罢。而在SearchAll的时代,插件中的Javascript代码有足够的特权,所以实现起来非常容易。

用户提交查询或翻页的时候会发现,“规格化视图”中的动感的小图标替代了搜索引擎返回搜索结果前的“冷漠”,它旋动的图标让你感觉到搜索引擎强劲的“心”。如果你更习惯于现有搜索引擎的经典展现方式,可以在插件的“原初视图”中得到满足。该种模式采用你所选取的搜索引擎的原有展现方式,只是将三个搜索引擎整合在一个界面。

值得一提的是,工具在两种模式下都嵌入了计时器,状态栏中显示的时间会让你对各个引擎的性能一目了然!

071120searchall5.jpg

SearchAll的用户来自不同的国家,它本身也提供了国际化支持。目前它支持简体中文(zh-CN),繁体中文(zh-TW),法语(fr),和西班牙语(es-ES)。比如,用户若使用的是简体中文版的Firefox,那么她看到的SearchAll界面也将是简体中文版的。感谢西班牙的Gregorio Villarrubia的西班牙文翻译。

对于非中文用户而言,第一次使用SearchAll时默认的三家引擎是yahoo.comgoogle.com,和ask.com。而中国用户则是yahoo.cngoogle.cn,和 baidu.com

SearchAll从一开始就被定位为开源项目,并使用 MIT 协议。老何和我都太热爱开源事业了,所以特意选择了MIT这种BSD风格的宽松协议。本项目的开发过程得到了公司内外许多朋友的帮助,特别是Mozilla #extdev IRC通道上的那些老外们。

对于插件的开发人员而言,我们的一个最强音是:项目的源代码中没有一行XUL/RDF/XML。用户界面完全使用Perl语言编写。我专门为SearchAll这个项目开发了一个基于Perl的Firefox插件开发框架,名为XUL::App。有兴趣的读者不妨可以看一看我最近一次演讲的幻灯:

http://agentzh.org/misc/slides/xulapp.pdf

在此,我必须要感谢Jesse Vincent的Jifty项目。我们从 Jifty 这个 Web 应用框架中汲取了非常多的营养。

如果你是Internet Explorer的忠实用户,别着急,中国雅虎的PS部门的工程师们正在着手将SearchAll移植到Internet Explorer,并且已经得到了一个内部原型。

如果你愿意参与这个项目,请告诉我们,我们会慷慨地赠送Subversion提交权限。同时,我们会在世界范围内接收反馈和提供帮助!从下面这个Subversion仓库你可以随时得到最新版本的项目源码:

http://svn.openfoundry.org/searchall/trunk

SearchAll,我搜去!

发表于:2007年11月27日 18:37 | 全文 | 评论(18) | 引用通告(0)| 添加到雅虎收藏+

网友评论

很好,I love jifty too。

发布者:阿飞 - 2009年09月15日 16:08

同学,你的ppt下载下来后打不开,请确认一下
http://agentzh.org/misc/slides/xulapp.ppt

发布者:mirror - 2008年04月22日 18:41

ajax 限制跨域也是为了安全起见吧,但我想可以通过其他方式来实现ajax的跨域功能,比如http://www.leeking.cn/new/proxy.asp?url=http://www.baidu.com类似这种小代码

发布者:lijing0033 - 2008年02月22日 13:09

阿梅:

Firefox 不是我们 Yahoo 的产品,而是 Mozilla 的。Google 作为 Mozilla 的赞助商之一,和 Mozilla 可能有相关的合作协议。呵呵。

发布者:章亦春 - 2007年12月07日 11:29

gen:

"海维算法" 的 JS 实现可以从 SearchAll 源码仓库中取得,它是一个相对独立的 .js 文件,可以脱离 SearchAll 使用:

http://svn.openfoundry.org/searchall/trunk/js/pattern-miner.js

该文件仅依赖 jQuery 和一个用于打印调试信息的 info 函数。不过不清楚是否可以运行在 IE 中。

如果大家有兴趣的话,后面有机会我会在这里写一篇东西好好介绍一下"海维算法"的基本原理及实现,呵呵 ;)

发布者:章亦春 - 2007年12月05日 19:16

真不错,请问你们那个“海维算法”模型,能给我一份嘛?

发布者:gen - 2007年12月04日 22:50

好东东

发布者:3vs3 - 2007年12月04日 10:40

这个插件确实不错哦,因为这个插件我重新安装了ff o(∩_∩)o...哈哈

发布者:幼峰 - 2007年11月30日 19:41

为什么默认的页面会是GOOGLE搜索呢?就是刚刚打开这个Firefox时。

发布者:阿梅 - 2007年11月30日 14:10

实用性很强!

发布者:My-Hou不務正業 - 2007年11月29日 21:16

非常好用的工具,赞!

发布者:Val - 2007年11月28日 14:31

用了,比较实用

发布者:dongdonglang - 2007年11月28日 13:26

要想比较下哪个搜索引擎更适合你,那就用 SearchAll 吧。

发布者:maqigxi - 2007年11月28日 10:59

So cool, I like it very much!!

发布者:onemonkey - 2007年11月28日 0:48

看起来还不错,先装上用用!

发布者:littleman - 2007年11月27日 20:56

感谢我的编辑石杏岚同学 :)

感谢的话都写在我自己博客里了,呵呵:

http://agentzh.spaces.live.com/blog/cns!FF3A735632E41548!242.entry

发布者:章亦春 - 2007年11月27日 20:35

好东东啊

发布者:Thinking Monkey - 2007年11月27日 20:23

写得很好!

发布者:maomao - 2007年11月27日 19:43

发表评论

名称
电子邮件地址(为了更好的解决您的问题,请填写邮箱地址,谢谢)

您的网络日志URL(可选)

评论
 

引用通告

此项的引用通告URL是:
http://ysearchblog.cn/cgi-bin/yblog/mt-tb.cgi/282
引用此项的网络日志
Copyright © 2008 Yahoo.com.cn 版权所有 不得转载  使用须知  京ICP证000022号