2007-06-06

关于搜索,我的一些看法

关键字: 搜索
目前的搜索大体分通用搜索和垂直搜索。

两者差别在于信息来源,通用的范围很广,所以数据量一般都是海量。垂直的信息来源比较单一,所以数据量相对而言就小。

技术角度而言,通用主要关注数据量,偏重架构设计,而垂直着重搜索的UI。


如何设计好一个架构,我觉得自己还在摸索,所以不多说,感兴趣的可以看看google的paper。

垂直搜索的面向是特定用户群,他们需要的是准确快速方便的找到自己想要的信息。所以如何将用户体验做好,这个难度在这里。

因为是要通过搜索表现结果,那么就需要结合搜索。

举几个例子现在不大好的垂直搜索:

google的生活频道搜索,一大堆搜索条件让人选择,这明显是不懂搜索的人做的。

还有些搜索,对自身业务没搞清,就往通用靠拢,根据搜索关键词来拉出些相关词。

国内我觉得不错的垂直,
taobao。




欢迎大家讨论。
评论
marine_chen 2007-08-26
我做过的几个搜索引擎,UI与后台是分开的,UI需要什么样的功能,后台就提供这样的业务需求。

所以说,在我看来,所有功能需求都是在后台实现的,前台侧重的是用户体验,不知道LZ如何认为。

另,我也觉得taobao的搜索不错,也想了解它们是如何实现的,不知道有没有人熟悉这块?
marine_chen 2007-08-26
我做过的几个搜索引擎,UI与后台是分开的,UI需要什么样的功能,后台就提供这样的业务需求。

所以说,在我看来,所有功能需求都是在后台实现的,前台侧重的是用户体验,不知道LZ如何认为。

另,我也觉得taobao的搜索不错,也想了解它们是如何实现的,不知道有没有人熟悉这块?
yefeng 2007-08-13
我个人认为对搜索来说有两个重点:
1.海量信息的抽取,数据爬下来以后,怎么对其进行准确的提取是很重要,现在很多都是用模版配置来做的,这样做准备率比较高,但爬取网站很多的话,相应的模版也需要很多
2.搜索策略问题
lianwu 2007-07-12
一句话,搜索还是有些技术含量的
RyanPoy 2007-07-11
垂直搜索和广度搜索从范围上来说只是一个深度和广度的问题。
2这大体上一致。
至少要有:
1。下载。
2。索引。
3。检索。
其中每一个都可以是一个系统。
下载主要是分析资源。即:把网页有效信息分析出来。形成需要的数据。
索引主要主要是分词。这个直接影响到检索结果。还有就是索引的结构。影响到检索速度。
检索主要是速度和精确度。一般说来,在海量数据里面,想要全遍历是不可能的。速度跟不上。这样就有一个取舍的问题。这个在建立所引的时候就要考虑到。比方说按时间排序,那么,在建立索引的时候就得有这样的一套。但是一般说来按照相关性排序,那么牵涉到的东西就多了。精确度这个东西,很麻烦。每个公司有自己的算法。就如同分词,每个公司都有自己的一样。
然后还有一个重要的。检索的瓶颈往往在io。所以,如何缓存也是一个非常重要的问题。
最后,当上述问题都差不多解决了。或者说基本实现了。那么,随着数据量的日益膨胀,必须要考虑分布式了。这时候后,一个良好的分布式框架是十分重要的的了。

以上只是一些说了一些大概,其实每个都不是1、2句能说清楚的。都能很深的发掘下去。仅随便说说。
hpq852 2007-07-03
江南白衣 写道
垂直搜索我倒是做过一点--电信的号码百事通,饮食方面,它会去爬大众点评网这里饮食网站,parse它们的页面内容入库,如订座电话之类的会作为单独的field入库。

SQL 与 全文检索 的差别还是挺大的,SQL只能用like,速度是一个,对多关键字的支持是一个。


针对不同的网站有不同的配置文件? 还是有更好的办法?
winterwolf 2007-07-02
imjl 写道
引用
winterwolf 4 小时前

我感觉搜索不如聚合后检索方便 聚合可以针对准确的商业信息(比如酒店预定服务 机票预定服务)作聚合 然后为客户提供全局检索


垂直的也是阿。。

有的数据比聚合还要精确。。



聚合不仅可以提供搜索(gx说是检索)还可以直接提供服务 预定 买卖 wiki等等 数据源 可以是rss; atom; web service; rest service; xml page
imjl 2007-07-01
引用
winterwolf 4 小时前

我感觉搜索不如聚合后检索方便 聚合可以针对准确的商业信息(比如酒店预定服务 机票预定服务)作聚合 然后为客户提供全局检索


垂直的也是阿。。

有的数据比聚合还要精确。。
winterwolf 2007-07-01
我感觉搜索不如聚合后检索方便 聚合可以针对准确的商业信息(比如酒店预定服务 机票预定服务)作聚合 然后为客户提供全局检索
roki 2007-07-01
垂直搜索,很多时候 就是花人力把原始数据中的信息提炼出来,
让用户能找到更准确的信息, 比如搜车票搜房子, 除了能让你找到信息所在页面之外,额外做了一步,帮你把车票房子的价格等等信息提取出来,省得用户再去页面中找, 这步分析的过程,技术含量不高,但是确实对用户是有帮助的, 这个切入点是垂直搜索的机会所在.
imjl 2007-06-29
marine_chen 写道
垂直搜索和广度搜索其本质都是把符合条件的数据查询出来,其区别主要在于索引之前的工作,对用户来说意义不大。
无语。

我做过视频搜索,据说英国的autonomy技术领先google的技术,可以解析到视频里的信息,这个概念上的检索他们定义为非结构化,简单的网页抓取一般都不叫非结构化,除非深入到视觉分块的层次。
不懂

marine_chen 2007-06-29
垂直搜索和广度搜索其本质都是把符合条件的数据查询出来,其区别主要在于索引之前的工作,对用户来说意义不大。

我做过视频搜索,据说英国的autonomy技术领先google的技术,可以解析到视频里的信息,这个概念上的检索他们定义为非结构化,简单的网页抓取一般都不叫非结构化,除非深入到视觉分块的层次。
江南白衣 2007-06-17
垂直搜索我倒是做过一点--电信的号码百事通,饮食方面,它会去爬大众点评网这里饮食网站,parse它们的页面内容入库,如订座电话之类的会作为单独的field入库。

SQL 与 全文检索 的差别还是挺大的,SQL只能用like,速度是一个,对多关键字的支持是一个。
gigix 2007-06-16
imjl 写道
即便用数据库做也可以啊,难道使用select语句不是搜索吗
通用和垂直只是针对数据源和应用而言。并不是说非要用什么语言,什么技术,什么框架,这样才算搜索。

IT有很多浮躁的东西,只是一些新东西的产生,我觉得在评论前,先做些尝试,分析其出现背景,应用基础,使用对象群,感兴趣的分析技术。

如果你要这样讲,我就赞同你好了。
但我还是偷偷的在想:搜索似乎应该是针对非结构化数据、平文本来进行的;用SQL处理结构化数据,我大学时的老师告诉我,应该叫检索。当然很可能随着加上垂直这个前缀以后,“搜索”这个词本身的意义也发生了变化。
引用
搜索结果没有以用户期望的方式展现。比如搜索机票,我就希望满足条件的搜索结果能够以对比的方式一一列出来,而不需要我一一点击链接,自己去总结。

好例子。
现在我似乎更明白所谓“垂直搜索”是什么货色了。
zhangyu8374 2007-06-16
gigix 写道
垂直搜索,IMHO,根本就是个伪命题
因为,如果你有了搜索的功能,你只要把这个功能应用在一个行业特定的数据集合上,你就得到了这个行业的“垂直搜索”
而另一个方面,谁需要垂直搜索?我想象不出来。“特定用户群”是什么意思?下午五点找饭辙的一群人?那我也同样希望这些信息来自所有信息源、来自我熟悉的搜索方式,例如Google或者百度。
所以,再一次的,IMHO,我觉得所谓垂直搜索,综上两点而论,只是没有搜索技术的情况下,拿半结构化甚至结构化数据检索来冒充搜索的一个半吊子概念。


如果垂直搜索只是停留在如此理解层次,那我认为它根本没戏。与通用搜索公司比起来,从事垂直搜索的公司无论是在技术上,还是在资金上都不是一个档次的。此时,做垂直搜索的要有竞争力,一定得专注于行业内,挖掘行业内有用的信息,然后展现给用户。

Google和百度简洁的风格虽是他们非常大的优势,但是也存在一些问题:
(1)普通用户搜索时,有时会对选择哪些关键字进行搜索存在困惑;
(2)搜索结果没有以用户期望的方式展现。比如搜索机票,我就希望满足条件的搜索结果能够以对比的方式一一列出来,而不需要我一一点击链接,自己去总结。
imjl 2007-06-16
引用

gigix 9 小时前

垂直搜索,IMHO,根本就是个伪命题
因为,如果你有了搜索的功能,你只要把这个功能应用在一个行业特定的数据集合上,你就得到了这个行业的“垂直搜索”
而另一个方面,谁需要垂直搜索?我想象不出来。“特定用户群”是什么意思?下午五点找饭辙的一群人?那我也同样希望这些信息来自所有信息源、来自我熟悉的搜索方式,例如Google或者百度。

垂直搜索用户怎么个定位,我觉得这不是这个题目讨论的东西。
可能你喜欢信息来自所有信息源,但并不表示所有人有这么想法。
就拿我个人使用搜索的习惯来说吧。搜索通用信息,我喜欢用google,搜索mp3,我喜欢用baidu,bt下载,我喜欢用btchina。

通用信息量大,来源广泛,但可能一个关键词带来很多你不一定想要的信息。垂直的信息来源特定,比如视频类只和视频有关,bt的只和bt信息有关。目标群非常明确,喜欢视频的找视频搜索,喜欢bt的找bt搜索。
正是因为有些人看到有这样的需求,才会有垂直的出现。


所以,再一次的,IMHO,我觉得所谓垂直搜索,综上两点而论,只是没有搜索技术的情况下,拿半结构化甚至结构化数据检索来冒充搜索的一个半吊子概念。


即便用数据库做也可以啊,难道使用select语句不是搜索吗?
通用和垂直只是针对数据源和应用而言。并不是说非要用什么语言,什么技术,什么框架,这样才算搜索。

IT有很多浮躁的东西,只是一些新东西的产生,我觉得在评论前,先做些尝试,分析其出现背景,应用基础,使用对象群,感兴趣的分析技术。
gigix 2007-06-15
垂直搜索,IMHO,根本就是个伪命题
因为,如果你有了搜索的功能,你只要把这个功能应用在一个行业特定的数据集合上,你就得到了这个行业的“垂直搜索”
而另一个方面,谁需要垂直搜索?我想象不出来。“特定用户群”是什么意思?下午五点找饭辙的一群人?那我也同样希望这些信息来自所有信息源、来自我熟悉的搜索方式,例如Google或者百度。
所以,再一次的,IMHO,我觉得所谓垂直搜索,综上两点而论,只是没有搜索技术的情况下,拿半结构化甚至结构化数据检索来冒充搜索的一个半吊子概念。
imjl 2007-06-15
[quote]
zhangyu8374 20 小时前
大家知道,用户体验在整个垂直搜索引擎中,拥有自己的位置,而且这个位置比在通用搜索引擎中显得更加重要。

垂直和通用是两个范畴。


LZ在这里强调用户体验非常重要,我认为已经暗含了两个前提:
(1)搜索的基础设施相对成熟,技术已经完备。要想有新的突破,需要发费非常大的努力。在实际开发中,付出和回报是不是划算,值得思考;
(2)目前来看,用户体验还未引起充分重视。缺这个,于是它显得尤为重要。缺什么,就补什么;同时,在用户体验上发功夫比在搜索的基础设施上发功夫,回报更大;

在这两个前提条件下,说用户体验非常重要,那就完全正确啦!

你理解错误。我说的用户体验不单单是css,ajax。而是如何让用户能更加简便快速准确找到自己想要的信息。
imjl 2007-06-15
引用

roki 5 小时前
1.数据源的量大,准确度高,
2.索引模块运行速度快
3.检索模块性能好,可扩展性可维护性好



这些都是基本的考虑。我不觉得这是特性。
roki 2007-06-15
1.数据源的量大,准确度高,
2.索引模块运行速度快
3.检索模块性能好,可扩展性可维护性好
imjl
搜索本博客
博客分类
我的相册
4ae9948d-bac9-4e81-8351-d05c0182de1b-thumb
robot
共 1 张
存档
最新评论