搜索引擎开发,垂直搜索开发探讨:蜘蛛,并行,搜索,垂直搜索,搜索开发,lucene,java,分布[原创]
来源:互联网 发布:mac极品飞车 编辑:程序博客网 时间:2024/05/29 18:08
//UserA为yuetiantian。UserB为我。20070829mark
UserA 21:04:22
你好啊
UserB 21:01:02
你好阿。
UserB 21:01:10
你是哪位朋友阿?
UserA 21:04:49
呵呵,我就是那个sil
UserA 21:05:04
你的blog挺好的,学了不少东西
UserB 21:01:32
呵呵。。。。我太尖锐了
UserA 21:05:17
没有啦
UserB 21:01:52
你现在在公司里上班?
UserA 21:05:37
是啊
UserA 21:05:45
你已经创业了?
UserB 21:02:31
我也是五一之后才想到要作这个。
不算创业吧,就是自己在写几个项目。小得
UserB 21:04:32
因为编码阶段非常快,主要是设计阶段,还有一些改进很费脑子。
UserB 21:04:34
好得
UserA 21:08:19
你用什么开发
UserB 21:05:21
准备java,因为全文检索我想用lucene,但我希望他快出lucene4c
UserA 21:09:41
4c是什么啊
UserB 21:06:32
是lucene的c语言版,但目前还没出来
UserA 21:10:34
说了要出了么
UserB 21:07:21
有个项目在那里挂着
UserA 21:11:37
c支持多线程么?
UserB 21:08:57
我估计用c++写比较好。现在有c++的改写,但据说有内存漏洞
UserA 21:12:43
是啊
UserA 21:12:46
各有利弊
UserA 21:13:03
java虽然慢点,但是总是有优势的
UserB 21:09:35
还是cutting主持才信得过。其它人搞的,唉,啃定不好
UserA 21:13:26
嗯,是啊
UserA 21:13:45
我觉得已有的开源技术已经可以做垂直了
UserA 21:13:52
主要是优化和定制
UserB 21:10:25
java写东西,就是不考虑平台,而且实现很容易。用c#写东西根本不要想跨平台
UserA 21:14:15
我也是这样想的
UserB 21:10:43
我觉得已有的开源技术已经可以做垂直了:简直太同意了
UserA 21:14:29
呵呵,谢谢
UserA 21:14:44
主要是平台的整合,可配置,可扩展性
UserB 21:11:45
基本上,倒排序,分词有开源项目可用,其它就靠自己整和了,比如排序算法。
UserA 21:15:54
嗯,我觉得分词其实还可以在别人的基础上再做做
UserA 21:16:22
可能各行业还是有各自特点
UserB 21:13:44
当然。其实我认为,索引和分词只占搜索的5%的功夫,最主要的是:你作出的东西比同类的好50%,而且用户愿意用。而不在于你分词的准确性
UserA 21:17:56
好50%好在什么地方呢?
UserA 21:18:13
不准的直接降低优先级,放在后面显示
UserB 21:14:56
作分词跟作搜索一样,需要漫长的改进过程,所以除非你要专业作分词,否则不要投入力气去作那个
UserA 21:19:22
嗯,有道理。但是我觉得这个玩意是中文搜索的核心
UserA 21:19:31
当然,没想要专搞这块
UserB 21:16:00
一些新词发现可能要配合机器学习和人工调优。。分词不简单。
UserA 21:19:44
现在重要的是有一整套解决方案
UserB 21:16:19
你想作什么?
UserA 21:20:33
垂搜平台
UserB 21:17:20
哦。。一个方案出售模式??
UserA 21:21:19
不算吧,可进退。
UserA 21:21:34
进就自己搞个有影响的
UserB 21:18:02
如果kooxoo的用户愿意放弃kooxoo来用你的搜索,证明你比他好50%
UserA 21:21:39
退就卖产品
UserA 21:21:50
kooxoo我查查
UserB 21:18:59
他现在有很高的流量,就证明,他作出了一个好产品。而且用户愿意用。
UserA 21:23:02
嗯,没错,可以向他学习,但是也没有必要怕他
UserA 21:23:10
中国企业有个通病
UserB 21:19:52
当然。只有更好,没有最好。
UserA 21:23:28
一定规模后就不行了,管理文化跟不上
UserB 21:20:32
ms都是,google也会这样。如我分析,这是企业发展的曲线问题。
UserA 21:24:45
我觉得啊
UserB 21:21:22
你准备怎么作?
UserA 21:25:00
没必要非要钻垂搜
UserA 21:25:13
垂搜只是其中一个部分
UserA 21:25:27
重要的是一整套行业门户的解决方案
UserA 21:25:40
行业门户必需要有一个垂搜
UserA 21:26:03
所以先要攻克这个技术最难点
UserB 21:22:33
是的。其实都差不多,基本有70%是通用部分
UserA 21:26:11
随着internet普及
UserA 21:26:26
以后老人小孩都要上网
UserA 21:26:31
其实现在已经是了
UserB 21:23:05
中国的资讯化很低,是的
UserA 21:26:59
所以,这块还是有很大的空间的
UserB 21:23:29
赞同
UserA 21:27:12
毕竟有一定的技术门槛
UserA 21:27:20
而且不是一两个人能做的
UserA 21:27:27
技术好的人大概要三个
UserA 21:27:45
门户,索引,爬虫
UserB 21:24:11
门槛不在技术。在资金,在持续改进。Baidu,google刚出来也不好,逐渐改进而成。这个过程好象铁人三项。
UserA 21:28:09
有了样板后,资金总会有的
UserB 21:24:49
非你所想的那么容易
UserA 21:28:52
呵呵,可能也没有你想的那么难
UserA 21:29:00
我看过一篇文章
UserA 21:29:30
几个人一起做了一个户外运动的社区,有垂搜,钱只花了6000块
UserB 21:26:08
你看看“知信者"的文章就知道了。。他就是想得太幼稚了
UserA 21:30:11
我看看
UserB 21:26:54
你说得不过是web2.0的暴发户,真正的垂直搜索不是你说的那样。
UserA 21:30:57
嗯,我在听
UserA 21:31:24
那应该是?
UserB 21:28:00
你可以算算服务器成本,托管成本,开发成本(算两年时间,五个工程师),你算算支撑两年要多少钱??
UserA 21:32:23
服务器他们用的是3000块不到的二手,不托管,直接接在自己的宽带上,开发自己也余搞
UserA 21:32:37
业余搞
UserB 21:29:20
至少要100W.对吧
土枪土炮,营运时不行。
UserA 21:32:56
当然这些也是成本,所以自己有技术的话会省很多钱
UserB 21:30:19
创业时会可怜到吃饭的钱都没有,你没读过xunlei的创业史??
UserA 21:34:15
嗯,还没读,有空可以读读
UserA 21:34:37
是这样的,我们这个项目现在计划是在业余时间完成
UserA 21:34:42
大概一年
UserA 21:35:12
卖便宜点总有人要吧
UserA 21:35:19
希望能有个样板站
UserA 21:35:23
后面就好搞了
UserB 21:31:58
放在自己的宽带上测试是可以的。但只限于测试,要营运,就要速度。比如日IP10W,50WIP自己的宽带怎么可以呢?
UserA 21:36:06
嗯,你说的这个还没有考虑
UserA 21:36:20
因为没有想到会有那么大的访问
UserA 21:36:45
还有,考虑过分布服务器怎么实现了么
UserB 21:33:13
如果你有30台pc来处理,你算算你该交多少电费?
你考虑的问题我通通考虑了一下
UserA 21:37:03
嗯,good question
UserA 21:37:19
我们现在还停留想法阶段
UserA 21:37:36
我觉得就光可行性研究就能让一大批人却步
UserB 21:35:08
我写了一个19页的开发说明,已经回答了用户提出的问题,回答了我自己提出的问题。正如我在<<垂直搜索引擎开发全过程>>中写到的,哪一步走不通,都是灭顶之灾。
UserA 21:38:48
我今天在考虑分布式搜索的架构
UserA 21:38:57
嗯,你说的没错
UserA 21:39:20
你更多的是从运营,自己当老板的角度考虑
UserA 21:39:32
有暴富的理想
UserB 21:36:11
假设我说你现在作起来了,每天有IP10W,你就需要改进和发展业务,这时就需要钱?没有钱你能作下去吗?
UserA 21:39:52
我还只是从技术角度考虑,希望提供可行的平台
UserA 21:40:05
对,你说的很多
UserA 21:40:25
我觉得如果你自己做搜索的技术的话,你最好不要考虑这么多
UserA 21:40:33
专注于一块
UserA 21:40:54
如果你考虑运营的话,倒是非常的应该这么仔细
UserB 21:38:20
看你怎么定位了.如果你作到baidu的技术,自然有人找你。这个的确靠出售技术也是一个途径
UserA 21:42:08
百度技术一般
UserA 21:42:22
百度很多是在做各种优化
UserA 21:42:35
因为他硬件资源充足
UserA 21:42:48
所以可以忽略某些细节
UserB 21:39:19
只要结果好就行,技术没有数量级的差异。
UserA 21:43:02
有的
UserA 21:43:14
我个人感觉baidu中文不如google
UserA 21:43:28
毕竟他的人才只是二流的
UserB 21:39:58
因为算法不一样,侧重点不一样,有参照自然有好坏之分。
UserA 21:44:11
其实我的想法是,稳妥点,不要一下子投入太多做运营
UserA 21:44:35
最好是能提供整套的解决方案,整合信息资源,聚集人气
UserA 21:44:52
然后再图发展
UserB 21:41:24
好比你的想法,你是作技术的,每个人都不愿意出来作运营,谁来买技术呢?
UserA 21:45:29
我的意思是量力,比如说我没有钱,我就先做技术
UserA 21:45:42
有钱了,也要省着点用
UserA 21:45:48
坚持不到时间就麻烦了
UserB 21:42:21
你请一个工程师,他一年的生活费就得1W块?如果不盈利,不加快速度,生存是问题阿。
UserA 21:46:13
所以啊,最好不要请
UserA 21:46:21
自己做一部分
UserA 21:46:30
找朋友合作
UserB 21:43:15
搜索在未来3-10年是黄金期,现在不作起来,怎么可能赚钱呢?
UserA 21:47:06
对,没错
UserA 21:47:18
机会很多,赚钱的机会永远有
UserA 21:47:25
只要有你自己的特点
UserB 21:44:22
现在包括yahoo,sohu,google,ms,baidu在技术上还没有大得突破,如果他们那在技术上有大突破,那搞一个垂直搜索意义就不大了
UserA 21:48:27
我看技术上他们已经相当成熟了
UserA 21:48:46
现在的问题是他们没有那么多精力涉及各个领域
UserB 21:45:15
成熟就是说在现在得基础上无法突破了。
UserA 21:48:58
是
UserB 21:45:38
无法更深层次得提高用户满意度了
UserA 21:49:36
对
UserB 21:46:52
我得思路是挂起来,撑到10WIP,然后找人合伙,注资阿。。。并不是要自己运营
UserA 21:50:53
你一个人开发?
UserB 21:47:38
而我自己可以把握技术核心。流量和业务起来了以后,我强壮起来了,再图发展
UserB 21:48:06
现在还在架构阶段,目前只有自己一人。
UserA 21:52:32
嗯,不错,有机会希望能和你讨论技术方面的问题。
UserB 21:49:18
你知道流水线吗?
UserA 21:53:09
听说过,不知道你特指哪一方面的
UserB 21:50:09
工厂里用于组装加工得流水线。其实,流水线模式就是分布式,并发模式
UserA 21:54:25
你稍等
UserA 21:54:55
我不同意你的观点
UserB 21:51:48
why
UserA 21:55:30
我的理解啊
UserB 21:52:05
你是怎么理解的?
UserA 21:55:54
流水线只是最简单的并行
UserA 21:56:00
但不是分布式
UserA 21:56:17
他在任意时刻只有一个中心处理器
UserA 21:56:38
而分布式的基本特点是有多个中心处理器进行并行处理
UserB 21:53:40
我的流水线不可以有多条吗??
UserA 21:57:16
我去洗个澡,再来,认识你很高兴。
UserA 21:57:49
对,分布式就是解决你这个多条的办法,我5分钟回来。
UserA 22:04:42
回来了
UserA 22:05:04
继续
UserB 22:02:06
如果公司接到100w的定单,肯定是分派给10条流水线去作。
UserA 22:05:56
嗯
UserB 22:02:47
一个流水线有一个拉长,一个搞包装,但作组装的可能是20个人,知道为什么吗?
UserA 22:06:56
不用花时间在切换上
UserB 22:03:40
不是,有个工作单位时间的问题。
UserB 22:04:32
如果某个动作只需要1s,那一个人来作就可以了,而另外一个工序需要10s来作,则需要10个人,才能保证流水线最大效率
UserA 22:08:17
嗯,明白,系统结构里面有讲
UserA 22:08:32
你的流水线例子是一个好的想法
UserA 22:08:49
这就是为什么很多服务器都分层
UserA 22:09:00
web-流程-数据库
UserA 22:09:09
等等,都是这个道理
UserB 22:05:55
所以,我们的蜘蛛由于效率低,就会开多线程,而且派很多蜘蛛同时抓,索引很慢,也会用多个电脑同时索引,而总控部分可能只需要一个,因为他不是瓶颈
UserA 22:09:47
但我的意思是指如何来协调
UserA 22:09:56
我觉得你这个就有问题了
UserB 22:06:32
基与任务负荷和总任务而定阿。
UserA 22:10:21
分布式就是为了系统可扩展和动态负载均衡
UserA 22:10:48
你蜘蛛可以同时抓,怎么协调他们工作,不重复?
UserB 22:07:29
呵呵,你连这个问题还没想好?
UserA 22:11:09
数据库多台,怎么保证立刻找到你需要的那台提取数据
UserA 22:11:28
对,我想听听你的看法
UserA 22:11:46
怎么把用户的访问平均分配到多个webserver上
UserB 22:09:37
如果有1W个url,如果批量设置为300,有10个蜘蛛,按蜘蛛申请并有总控制台分配,并标记,蜘蛛可以退定任务,如果蜘蛛完成任务,写入某联接已经完成抓取。
UserB 22:10:37
用户访问是属于负载平衡问题。呵呵,我都有简单想过一下
UserA 22:14:41
蜘蛛一从A网站抓到B站,蜘蛛二从C站也抓到B站
UserA 22:14:44
怎么解决
UserB 22:11:37
URL在分析出来时,就要去重的??你不知道,而且要唯一编号
UserB 22:12:12
化柏林的论文你没看?
UserA 22:15:58
我看资料上不是说蜘蛛从一个页面,抓,再抓该页面的所有链接么
UserA 22:16:08
没看啊,哪里可以看
UserB 22:13:05
呵呵,我就收录了他的论文,这是必看的
UserA 22:16:52
化柏林?
UserA 22:16:58
查不到该人
UserA 22:17:31
正在看
UserB 22:15:01
蜘蛛只是负责抓取页面,有专门的联接锚点分析器,生产者,消费者模式
UserA 22:18:44
我看了
UserB 22:15:32
蜘蛛又要抓,又要分析,怎么会有效率
UserA 22:19:39
除非锚库只有一个
UserB 22:17:11
这儿不重要。比如google中国机房和美国机房不会抓重复的,他们从URL上就有区分吧,我这么想的
UserA 22:21:25
嗯
UserA 22:21:42
那你的构架,也就是做到流水线
UserA 22:21:50
哪些东西是分布的呢?
UserB 22:18:23
只是抓好了,作好索引后,再合并索引即可
UserA 22:22:01
资料库应该是吧
UserA 22:22:21
索引库也可能是吧
UserB 22:18:53
蜘蛛,分析器,学习器,这些部件都是分布的吧
UserB 22:19:04
索引也可以分开作。
UserA 22:22:41
对,蜘蛛的问题好解决
UserA 22:23:00
索引如何分开做?具体有想过如何实现么
UserA 22:23:08
静态分配?
UserB 22:19:43
你不知道索引可以分开作?
UserA 22:23:32
不知道啊,请赐教
UserB 22:20:07
可以分开作,然后合并
UserA 22:24:04
索引服务器一台还是多台
UserB 22:20:35
google分64个桶。都是分开的概念。好好看看
UserA 22:24:39
好的,谢谢
UserB 22:21:22
因为google资料太多,索引和查询应该都是分布式的。
UserA 22:25:12
等我看了这些资料再继续请教
UserB 22:22:24
关键是拆解任务。比如中国共产党,中国,共产党,两个词分别在两台查询,我想也是可以的
UserB 22:24:11
需要看上千份资料吧,我估计已经看了一千份资料
UserA 22:28:03
哈哈,强,我才一百份
UserA 22:28:17
越到后面,有价值的越难找
UserB 22:24:44
我转载的是觉得很好的,才转载的。
UserA 22:28:32
嗯,你转的都不错
UserA 22:28:53
我看你的工作量不小
UserB 22:25:19
通常我都看到google的40页以后
UserA 22:29:14
有毅力,向你学习
UserB 22:26:45
基于第四层交换技术的负载均衡(转载) 减压分流:谈IDC机房的负载均衡服务(转) 这个是关于负载的
UserA 22:30:49
我论文做过负载均衡的东西
UserB 22:27:38
其实你问的问题,我也在问自己,所以就每天搜索一些主题看看,作到架构阶段心理有数
UserA 22:31:16
集中调度,信息收集,任务分法
UserA 22:31:49
听你今天讲了这么多,看来要做个好的,不容易
UserB 22:28:13
对。只要任务能分解。pc也能作搜索的关键在这里。
UserA 22:32:25
嗯
UserB 22:29:45
作搜索的电脑只要求内存大,其它都不在乎
UserA 22:33:44
呵呵,硬盘?
UserB 22:31:32
硬盘不是关键。我的文件会集中存放,索引的肯定用scsi.其它用旧的都可以
UserA 22:35:27
嗯
UserA 22:35:33
不错
UserB 22:32:30
我不是想省什么,因为存放资料的化:电脑不能关机,二来必须配UPS
UserA 22:36:21
嗯,对的
UserB 22:33:33
因为我还要设计任务平衡,一些pc可能休眠或关机。等用时再唤醒它
UserA 22:37:35
牛,这个都想到了
UserA 22:37:43
为啥非要pc呢
UserA 22:37:49
刀片不行么
UserA 22:37:59
系统就用linux
UserA 22:38:02
随便跑
UserB 22:34:47
因为你可以花2000块配到一个pc,但你要配到一个服务器非得2w
UserA 22:38:51
我查查
UserB 22:35:45
而一个服务器是单路径,而我的10台pc是冗余路径。
UserA 22:39:44
冗余路径是什么
UserB 22:36:20
呵呵。想想
UserA 22:40:43
数据与服务器间的所有路径均为冗余路径,即便出现组件或路径故障,也可以执行连续性操作。使用路径管理软件,可以在发生路径故障时,在冗余路径间进行选择。
UserA 22:41:16
这个你可就搞复杂了
UserA 22:41:26
pc我估计还是不行
UserB 22:37:54
如果一台服务器的当机概率是1%,则我10台电脑全部当机的概率就是百万分之一。
UserA 22:41:43
问题是你成本啊,维护就上去了
UserA 22:42:01
电,空间,管理软件
UserB 22:38:57
关键是,服务器再牛,其实计算能力比不上10台pc,任务能拆,但服务器无法分身。当然我们的钱不够买16G ECC内存和四个CPU。一个人在强也担不了1000斤,因为会出现瓶颈。
UserA 22:42:59
如果你的网站已经到了不能当机10分钟的情况了,那时你根本不缺钱
UserA 22:43:12
所以用不着怕服务器当机
UserB 22:39:57
我是说的线下部分。线上部分当然是机架式。呵呵
UserA 22:43:49
哦,那倒是
UserA 22:44:13
强人啊
UserB 22:40:48
不能这么说
UserA 22:44:32
别客气了
UserB 22:41:49
我花1W块就可以获得很大的计算能力,按你的思路,可能需要10W
UserA 22:46:08
嗯,你的思路是对的
UserB 22:42:45
我还计划配置400块/台的电脑呢?
UserA 22:47:18
我晕,怎么配
UserB 22:43:57
这个保密。你自己想想,我对电源管理,市电断电,开关电源保护措施都考虑了一下。
UserA 22:48:07
这个牛呢
UserB 22:44:47
蜘蛛根本不需要计算能力。
UserB 22:45:15
主要是数量要多。
UserA 22:49:02
为啥
UserB 22:45:42
因为html返回需要等待。
UserA 22:50:01
哦,原来如此
UserB 22:46:37
google的秘诀就在这里
UserA 22:51:07
又学了知识了
UserB 22:48:00
这些在那些文章里都有阿,看你去总结了
UserA 22:52:03
还没来得及看
UserA 22:52:10
关注这块才1个星期
UserB 22:48:42
呵呵。。这样阿。
UserA 22:52:34
是啊
UserB 22:49:38
你行阿。不错阿。我也才看概念性的东西。
UserA 22:53:24
我晕
UserB 22:50:04
不过我已经写了蜘蛛,作了抽取。
UserA 22:54:00
厉害
UserA 22:54:05
我还在看java
UserB 22:50:31
目前正在学java。
UserB 22:50:45
准备2个月学会,但只到会看代码的程度。呵呵
UserB 22:52:03
边学边用,学起来才快
UserA 22:55:44
对的
UserA 22:56:09
那你蜘蛛用啥写的
UserB 22:53:04
蜘蛛用c#写的
UserA 22:56:50
SQL?难在何处
UserB 22:53:23
难在提高。
UserA 22:57:15
c#我也用过,但是考虑到太多开源的用java,所以也要转
UserB 22:53:57
是。java是我的目标
UserA 22:57:42
好的,一起努力吧
UserB 22:54:15
主要是要跑linux,要用lucene。
UserA 22:57:57
没错
UserB 22:55:50
不过你还得定一个目标比较好。如果太宽泛得目标没用
UserA 22:59:49
嗯,是的
UserB 22:56:56
因为我们情况相同,不想投入人力和钱,又想有成就。就得另辟蹊径
UserA 23:00:49
没错,没错
UserB 22:57:57
我得目标就是企业和产品检索系统,而不是搜索,是检索
UserA 23:02:11
类似于内部检索?
UserB 22:59:10
就是说更单一,更准确,但系统目标小。趋向于工具性
UserA 23:02:56
嗯,明白
UserB 22:59:53
这样我用20台pc,2TB容量足与完成,而且成本不高。
UserA 23:03:49
而且不需要怎么更新
UserB 23:01:12
不是得。电话号码每月更新一次,而且要动态校验。企业和产品要七天更新一次,供求信息要每天更新一次。。。非你所想
UserB 23:01:37
难度很大得。
UserA 23:05:34
原来如此,有客户提出这样的需求了么
UserB 23:02:24
中国的600w企业就是我的目标客户
UserA 23:06:25
有意向的客户么
UserB 23:03:14
web open 查询阿。。。呵呵
- 搜索引擎开发,垂直搜索开发探讨:蜘蛛,并行,搜索,垂直搜索,搜索开发,lucene,java,分布[原创]
- 垂直搜索开发:垂直搜索引擎开发全过程[原创]
- htmlparser 开发垂直搜索爬虫
- 垂直搜索的经济帐:开发一个垂直搜索需要多少钱?[原创]
- Lucene搜索引擎+HDFS+MR完成垂直搜索
- 垂直搜索
- 垂直搜索
- 垂直搜索
- 最全面的垂直搜索引擎统计-行业搜索--垂直搜索
- 开发搜索引擎初步(二)搜索(Lucene实现)
- 开发搜索引擎初步(二)搜索(Lucene实现)
- 《开发自己的搜索引擎》读书笔记——Lucene搜索
- 垂直搜索 vs 通用搜索
- 学习搜索开发的重点不在lucene和nutch[ 原创]
- B2B垂直搜索出路模式探讨
- 垂直搜索排序
- 什么是垂直搜索
- 什么是垂直搜索?
- HTML中父节点和子节点
- 《Pro Spring》学习笔记之ComposablePointcut组合切入点实例
- Flash的发展历史
- 太多的细节有问题,可能就是战略上出了问题!
- 斐波那契数的 O(lgn) 时间复杂度算法
- 搜索引擎开发,垂直搜索开发探讨:蜘蛛,并行,搜索,垂直搜索,搜索开发,lucene,java,分布[原创]
- 关于SqlServer Identity列的常用操作
- American Hospitality
- falsh 学习站点
- 号线系统,电讯资源管理:电话号码的节点标识系统[原创/草稿+补充转载]
- solaris的用户配置文件
- VM虚拟机Solaris系统与主机WinXP系统网络不通问题解决
- 中文处理自定义函数
- 景色结婚