0

搜索引擎建立索引有何好办法

Posted in PHP at 二月 22nd, 2008 / No Comments »

搜索引擎建立索引有何好办法,要快一点

我现在的方法有点慢,用PHP,现在还不到一千万条索引。
如果有1亿条那更新速度就太慢了。

phpxxx 2007-12-15 02:50 PM
 
速度在于算法,与语言无关!

不妨写出你的索引算法看看有无优化的可能~

c2a2o2 2007-12-16 02:34 AM
 
explian以下你的sql语句分析一下 看一下你的索引

hobbs136 2007-12-16 03:14 AM
 
[quote]原帖由 [i]phpxxx[/i] 于 2007-12-15 10:50 PM 发表
速度在于算法,与语言无关!

不妨写出你的索引算法看看有无优化的可能~ [/quote]

同样的算法用不同的语言写出来的效率可能会有天壤之别。

unspace 2007-12-16 08:05 AM
 
[quote]原帖由 [i]hobbs136[/i] 于 2007-12-16 11:14 AM 发表

同样的算法用不同的语言写出来的效率可能会有天壤之别。 [/quote]

有一些优化是针对语言优化的,不同语言都有自己的特性,譬如说一些底层操作,而且还很重要,可以写成php扩展,这样性能可以提高很多

但是天壤之别倒是不至于的,不会一种语言执行一秒,另一种执行几千秒,但是不好的算法,哪个语言实现起来性能都不会好到哪去

时间换空间,空间换时间,好好斟酌斟酌,本人不才对算法研究很少

qai41 2007-12-17 12:45 PM
 
看来算法还是很重要的
百度的算法还是比较牛啊

jonyare 2007-12-17 12:51 PM
 
lucence那个可以不

飞豹游侠 2007-12-17 02:06 PM
 
mysql的一表能存1亿的数据?
1000万都有点吃不消了吧?

奶瓶 2007-12-17 03:39 PM
 
看来你们误会了,我猜烟同学说的不是数据库的索引,是搜索引擎的索引。搜搜引擎几乎所有的耗费都在源分析和创建索引上了。现在Lucene的速度已经算是还可以了,除了稳定性欠佳。PHP不适合做这个。

难道我猜错了??真的是数据库索引??嘿……

cyber 2007-12-20 03:10 PM
 
奶瓶同学分析的是对的,看来比较了解我。呵呵
确实不是数据库的索引,数据库的索引我也建了,目前我的MYSQL一个表内已经有1000万条记录,我要将这个数据再次索引,比如把包含关键字1的所有文章ID号取出来,存到一个PHP文件中,数据大了MYSQL吃不消,我再次索引就是为了避开MYSQL,而直接去调用这个PHP文件,如同时查多个关键字,则对这些PHP文件进行取集合运算,此乃纯数学运算,速度快慢与你的电脑配置有关,不受MYSQL瓶颈的限制。
我用这种方法已经索引了几个G的数据,查询速度在0.1秒以内,就是建立索引的速度非常的慢,

cyber 2007-12-20 03:19 PM
 
[quote]原帖由 [i]奶瓶[/i] 于 2007-12-17 11:39 PM 发表
看来你们误会了,我猜烟同学说的不是数据库的索引,是搜索引擎的索引。搜搜引擎几乎所有的耗费都在源分析和创建索引上了。现在Lucene的速度已经算是还可以了,除了稳定性欠佳。PHP不适合做这个。

难道我猜错了 … [/quote]
Lucene我倒没用过,我是看了GOOGLE的搜索引擎黑板报后写出来的,不知Lucene的中文分词功能如何?

tianfing 2007-12-21 01:52 AM
 
[quote]原帖由 [i]cyber[/i] 于 2007-12-20 11:19 PM 发表

Lucene我倒没用过,我是看了GOOGLE的搜索引擎黑板报后写出来的,不知Lucene的中文分词功能如何? [/quote]

难道就是以前贴子里所说的位与运算的那个?

大西瓜 2007-12-21 05:15 AM
 
我也比较关注此问题

xieaotian 2007-12-21 08:33 AM
 
cyber 那你如何保证你的索引文件里的值是时时更新呢?如果这个问题解决了,一切都OK了。

cyber 2007-12-22 02:10 PM
 
这个问题我看百度都解决的不太好,解决这个问题应该需要数百台服务器日夜不停的进行采集和索引工作,

LuckLrj 2007-12-23 05:27 AM
 
把你mysql中的数据按照一定搜索规律取出来,放着,然后搜索就匹配搜索条件来选择那个临时缓存文件了。

然后定时更新这些临时文件。

Published in PHP

No Responses to “搜索引擎建立索引有何好办法”

Leave a Reply

请输入算式结果(看不清请点击图片)
(必须)