你对“搜索”有多了解
站长空间
站长介绍:
朱明谦,Bbmao超搜索网站站长,也是创始人。1974年出生在新加坡,是一名来自加拿大的华人,2000年毕业于多伦多大学并获得了物理和计算机(人工智能)双硕士学位,先后服务于美国加州硅谷的Xerox PARC和Verity公司,从事研究和研发工作。
网站介绍:
经过近一年的测试,Bbmao 超搜索网站(www.bbmao.com)在2006年1月正式使用,成为中国首家专业聚类搜索网站。网站运行情况良好,有近20位软件工程师、高级管理人员和市场推广人员。
去年,Web2.0技术红遍了互联网的每一寸地方,很多站长都在琢磨怎样给自己的网站增加最流行的技术。如今,Google的日益壮大,百度的成功上市,让一大批站长对搜索技术充满浓厚的兴趣,“站长天下”栏目的热线信箱也是堆积了很多有关搜索问题的邮件。
对于制作专业的搜索引擎网站,总的说来,难度是比较大的。本周,一木整理出读者来信中具有代表性的问题,特邀请Bbmao超搜索网站站长朱明谦作出回答。
站长:郝冬 (河北)
建立专业搜索引擎网站需要掌握哪些技术?如何实现?
朱明谦:搜索引擎网站技术是比较复杂的一种技术。首先应该了解爬虫技术,在大量的网页抓下来后,要用一定技术突破带宽限制。把抓下来的页面生成索引过后,如何确保高速度的大量搜索也是要用技术来解决。扩展性和可靠性这两个方面也都需要很大的技术投入。
做索引本身的技术含量很大,在中国还包括中文分词问题,因为中文不像英语,在词与词之间没有空格,所以搜索引擎必须用一些技术含量较高的算法把词分出来。这些问题实现起来挺困难的,一般情况下,为了控制速度和成本,普通搜索引擎网站都是用C语言写的。
站长:弘一波 (北京)
制作一个简单的全文搜索引擎,难不难?如果难,难在哪?
朱明谦:要制作一个简单的全文搜索引擎不算非常容易的事情。我们可以直接用一些开源的工具包,比如基于Java的全文索引/检索引擎Lucene。Lucene不是一个完整的全文索引应用,而是一个用Java编写的全文索引引擎工具包,它可以方便地嵌入到各种应用中实现针对应用的全文索引/检索功能。
开始上手使用 Lucene时并不太难,不过根据各种情况要把Lucene的性能按自己的要求调高就需要一定编制程序的经验。Bbmao网站的收藏搜索就是用Lucene开发的,也经过了一段时间调整Lucene的性能。
站长:王成峰 (新疆)
搜索技术中的“超搜索”是什么意思?像Bbmao网站中“放大镜”和“收藏夹”两大功能有什么技术特点?
朱明谦:超搜索是从英文“META-SEARCH”演化而来,由于没有确切的中文译名,我们称之为“超搜索”,意指搜索结果来源于各大搜索引擎,经过一些程序筛选整理,然后把最好的结果显示给用户。
除了聚类和超搜索外,我还想出了“放大镜”和“收藏夹”两大功能。“放大镜”能让用户在搜索结果页面里直接预览结果,满意后才在新窗口内打开信息结果,避免一次打开很多新窗口,这个功能是由javascript实现的。
“收藏夹”的功能则是加入时下流行的Web2.0技术,让大家收藏网页和共享网页,类似于Web2.0的网摘。
站长:宋康 (江苏)
普通的搜索网站与聚类搜索网站在技术上有什么区别?
朱明谦:普通搜索引擎有巨大的索引,经常会返回几万或几十万条结果,不过,没有用户会看完那么多结果的。一般来说,用户只看前一页或者前几页的搜索结果。聚类搜索引擎不同的一方面在于它会从各大搜索引擎获取前几页的搜索结果,整理在一起,显示给用户,帮助用户节省时间。这是聚类搜索和普通搜索在技术上一个最大的区别。
另外,搜索引擎在获取结果后,会把它们分成类,用户可以通过点击类别来关注他感兴趣的信息,这个自动分类技术叫聚类技术,它通过自然语言分析和人工智能获取搜索结果当中主要的概念,技术成分比较复杂。
一木点评
对于个人建站,通常是在网页中添加Google或百度的免费搜索代码,以实现站外搜索功能,而站内搜索功能是通过Dreamweaver或一些论坛系统自带工具实现的。
目前,要想制作出一个高质量的专业搜索网站不是一个个人网站能轻易实现的事情。像Bbmao这样看上去使用很简单的网站,也是引入风险资金后才获得这样的技术效果。不过,当具备很强的技术力量,再加上个人创意,也是能够创造个人专业搜索网站的。一木在2005年《电脑报》第41期中采访的大四学生建立中客网就是一个典型例子。